Menara Hanoi adalah contoh mashalah dengan penyelesaian menggunakan sebuah rekursi. Ada beberapa atutan dalam memindahkan menara yaitu :
Ada n disk berlabel 1,2,3....n dan tiga menara berlabel ABC
Tidak ada disk yang diatas dari disk yang lebih kecil
Semua disk pada awalnya di tempatkan pada menara A
Hanya satu disk yang bisa di pindahkan dalam satu waktu dan harus di atas dari disk yang ada pada menara
Tujuan masalah ini adalah untuk memindahkan semua disk dari A ke B dengan menggunakan bantuan C. Misalnya, jika kita memiliki 3 disk seperti gambar di bawah ini.
Dalam kasus 3 disk maka dapat menidahkan secara manual seperti yang ada di gambar diatas, namun untuk disk yang lebih bnyak maka akan terjadi mashalah yang lebih kompleks, Ada beberapa tahapan yang di gunakan untuk penggunaan pada penyelesaian menara hanoi yaitu:
Pindahkan n pertama -1 disk dari A ke C dengan bantuan tower B
Pindahkan n disk dari A ke B
Pindahkan n-1 disk dari C ke B dengan bantuan tower A
The algorithm for the method can be described as follows:
if (n == 1) // Kondisiberhenti atas n = 1 Pindahkan disk 1 dari Asal ke Tujuan;Contoh Hasil Dari Memindahkan 3 disk:
else { Pindahkan Disk(n - 1, Asal, Tujuan, bantu);
Pindahkan Disk n from the Asal to the Tujuan;
Pindahkan Disk(n - 1, Bantu, Asal, Tujuan); }
Source Codenya Dapat di download disini
Atau download dokumentasinya disini
0 komentar:
Posting Komentar