漢諾塔遞歸算法
C
語言動態演示
漢諾塔遞歸算法具體演示功能:
①任意輸入演示的個數;
②選擇電腦自動演示和手動單步執行兩種方式;
③若選擇電腦自動演示請輸入速度;
④屏幕上顯示算法執行過程。
演示算法流程圖:
漢諾塔模塊編碼:
漢諾塔問題是一個經典的遞歸問題。
它給出的圓盤移動條件是:
一次僅能移動一個盤,
且不允許大盤放在小盤的上面
[1]
。
算法演示思想
[10]
:設要解決的的漢諾塔共有N個圓盤,對A桿上的全部N個圓盤從
小到大順序編號,最小的圓盤為1號,次之為2號,依次類推,則最下面的圓盤的編號為
N。
第一步:先將問題簡化。假設A桿上只有一個圓盤,即漢諾塔只有一層N
1,則只
要將1號盤從A桿上移到B桿上即可。