-
n 板 a[0] a[n-1]。
在 B 的幫助下從 A 移動到 C
首先,確定 n 的奇偶校驗,如果 n%2=1
for i=n-1 to 2 i-=3
if n-2>0
將 A[I-2] 從 A 移動到 C
將 A[i-1] 從 A[i-1] 移動到 B,將 A[i-2] 從 C 移動到 A[i],將 A[i] 從 A[I] 移動到 C
if n-2>0
將 A[I-1] 從 B, AI-1] 移動到 C,將 A[I-2] 從 A, Endif 移至
endfor
否則 n 是偶數,類似。
endif
-
A、B、C三個塔,先將A塔上的N-1板移到C,再將1移到B,再將剩餘的N-1移到A
-
hanot (n-1,b,a,c);(說明:在A塔的幫助下,將B塔的(N-1)移動到C塔)。
為了在C的幫助下實現從A到B的n個磁碟
思路如下:首先考慮極限 當只有乙個磁碟時,磁碟可以直接來自乙個 ->b。
當有 2 個板時,將 A -> C 的 1 個板放入 2 個板,然後放入 2 個板 A->B,然後放入 C - B 的 2 個好板。
當有 n 個磁碟時,借助 B 將 n-1 個磁碟移動到 C,然後將 N 個磁碟從 A 移動到 >B。
此時,只要在A的幫助下將n-1從C移動到B,那麼N-2磁碟就可以在B的幫助下移動到A。
遞迴,即在奔跑的過程中稱呼自己。
什麼是遞迴:
1.子問題必須與原始問題相同且更簡單;
2.不能無限呼叫,必須有出口,簡化為非遞迴狀態處理。
在數學和電腦科學中,遞迴是指由乙個(或多個)簡單基本情況定義的一類物件或方法,並規定所有其他情況都可以簡化為它們的基本情況。
以上內容是指:百科全書-遞迴公式。
-
河內塔遞迴演算法是演算法分析。該演算法的實現可以簡單地分為三個步驟:將 n-1 個板從 A 移動到 B; 將第 n 個板從 A 移動到 C,將 n-1 板從 B 移動到 C。
河內塔**及其應用
傳說在古印度的聖殿中,有一種叫做河內塔的遊戲。 遊戲在乙個銅板裝置上進行,有三根杆(編號為A、B、C),64個金板從下到上,從大到小依次放置。
遊戲的目標:將 A 欄上的所有圓盤移動到 C 欄上,並仍然以相同的順序堆疊它們。 操作規則:
一次只能移動一塊板,在移動過程中,三根杆始終保持在底部,小板在頂部,並且在操作過程中可以將板放在任意一根杆A、B和C上。
河內塔問題就是乙個典型的遞迴方法解決的問題,在實際教學中,在傳統教學方法的基礎上,可以採用計算機輔助教學對演算法教學進行模擬和演示,使學生更容易接受和理解遞迴演算法的思想,不僅可以提高學生的學習興趣, 同時也取得更好的教學效果。
至於遞迴,你可以把它想象成一次執行乙個句子。 當您需要儲存狀態時,系統會自動使用堆疊為您儲存。 讓我們以你說的例子為例: >>>More