Nama : Reny Sasmito
NMP : 1135010042
SEJARAH TOWER OF HANOI ??
Permasalahan Tower of Hanoi muncul pada abad 19 di Eropa yang menceritakan tentang sebuah tugas di kuil Brahma. Beberapa pendeta diberikan kepingan-kepingan dan 3 buah tiang emas. Pada tiang pertama kita menumpukan 64 keping emas, dan setiap kepingan diatasnya selalu lebih kecil dari keping yang berada dibawah. Pendeta tersebut ditugaskan untuk memindahkan semua kepingan emas dari kepingan pertama ke kepingan ketiga, dengan syarat hanya satu keping yang dapat dipindahkan dalam satu waktu dan setiap keping tidak boleh ditempatkan diatas keping yang ukurannya lebih kecil. Pendeta tersebut diberi tahu bahwa ketika mereka akan selesai memindahkan 64 keping saat dunia kiamat.
PENGERTIAN TOWER OF HANOI ??
Menara
Hanoi adalah sebuah permainan matematis atau teka-teki. Permainan ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja. Permainan dimulai dengan cakram-cakram yang tertumpuk rapi berurutan berdasarkan ukurannya dalam salah satu tiang, cakram terkecil diletakkan teratas, sehingga membentuk kerucut.
TOWER OF HANOI :
Tujuan dari teka-teki ini adalah untuk memindahkan seluruh tumpukan ke tiang yang lain, mengikuti aturan berikut :
1.Hanya satu cakram yang boleh dipindahkan dalam satu waktu.
2.Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di tiang tersebut.
3.Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.
CONTOH TOWER OF HANOI :
ALGORITMA TOWER OF HANOI
Jika n==1, pindahkan pringan dari A ke C
Jika tidak:
1.Pindahkan n-1 piringan dari A ke B menggunakan C sebagai tampungan
2.Pindahkan n-1 piringan dari B ke C menggunakan A sebagai tampungan
Ket : n= piringan.
Pseudocode TOWER OF HANOI :
main(){
char
fromPeg = 'A';
char
withPeg = 'B';
char
toPeg = 'C‘;
solveHanoi(disks,
fromPeg, toPeg, withPeg);
//disks= user input;
}
solveHanoi(int
disks, fromPeg, toPeg, withPeg){
if (disks >= 1)
{ solveHanoi(disks-1,
fromPeg, withPeg, toPeg);
moveDisk(fromPeg,
toPeg);
solveHanoi(disks-1,
withPeg, toPeg, fromPeg);
}
}
moveDisk(fromPeg,toPeg){
System.out.println("move" +
fromPeg + "to" + toPeg);
}
DAFTAR PUSTAKA :
http://en.wikipedia.org/wiki/Tower_of_Hanoi
DAFTAR PUSTAKA :
http://en.wikipedia.org/wiki/Tower_of_Hanoi
Tidak ada komentar:
Posting Komentar