遞迴總結二 漢諾塔問題

2021-08-25 16:04:51 字數 652 閱讀 1803

漢諾塔是貌似遞迴入門的引導題目,把這個過程寫下來,mark一下遞迴。沒別的用處。

package hanoi;

public class hanoi

/*** 遞迴步驟如下: 先將前n-1塊盤子挪到中間柱 然後將最後一塊盤子挪到結果柱 最後將前n-1塊柱子從中間柱挪想結果柱就可以了

* * @param n

* @param start

* @param destination

* @param temp

*/public static void hanio(int n, char start, char destination, char temp)

if (n == 1) else

} /**

* 拼成列印挪盤子過程,純粹是好玩 呵呵 沒別的用處 可能這個第幾的英文特例還沒考慮全

* * @param current

* @param start

* @param destination

*/public static void move(int current, char start, char destination)

}

說明:大概是這個樣子吧,跑了3 跟4 沒有問題。沒看別的,呵呵。

漢諾塔問題(遞迴)

題目描述 對於傳統的漢諾塔遊戲我們做乙個拓展,我們有從大到小放置的n個圓盤,開始時所有圓盤都放在左邊的柱子上,按照漢諾塔遊戲的要求我們要把所有的圓盤都移到右邊的柱子上,請實現乙個函式列印最優移動軌跡。給定乙個int n,表示有n個圓盤。請返回乙個string陣列,其中的元素依次為每次移動的描述。描述...

漢諾塔問題(遞迴)

問題 漢諾塔問題 解法 遞迴求解 思路 先把n 1從a移動b 在把第n個從a移到c 使用遞迴使得 變得簡單 複雜度 2的n次方 1 includeint step 1 void hanoi int level,char a,char b,char c 1 當盤子數大於1時,先把n 1個從a借助c移動...

漢諾塔問題(遞迴)

漢諾塔 在印度,有這麼乙個古老的傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,有三根柱子。印度教的主神梵天在創造世界的時候,在其中一根柱子上從下到上地穿好了由大到小的64片金盤,這就是所謂的漢諾塔。不論白天黑夜,總有乙個僧侶在按照下面的法則移動這些金盤 一次只移動一片,不管在哪根柱子上,小片必須在...