首頁>Club>
求用簡單的大白話,對遞迴進行理解。
7
回覆列表
  • 1 # 餘隨雲

    比如求n!,n!=nx(n-1)!,(n-1)!=(n-1)x(n-2)!,…,最終n!=nx(n-1)x(n-2)x…x2x1。

    在上面的過程中,要求n的階乘,就需要求n-1的階乘,…,在這裡就要一直回溯到2的階乘。

    又比如漢塔問題(把n個從小到大疊起來的盤子,利用兩個空位,把盤子移到其中一個空位,過程中,每次只能移動一個盤子,只能是小盤子放在大盤子上,而不能有大盤子放在小盤子的情況)。這也是個典型的遞迴問題。

    要解決n的情況,就要先解決n-1的情況,而要解決n-1的情況,就要先解決n-2的情況,…,一直回溯到2時,就能得到解決辦法了。

  • 2 # 小電腦大教育

    你既然要求用簡單的大白話解釋遞迴演算法,那麼,我就給你解釋一下,保證讓你明白。

    有一個耳熟能詳的故事,恰好可以說明遞迴。

    從前有座山,山上有座廟,廟裡有個老和尚和一個小和尚,老和尚正在給小和尚講故事:{從前有座山,山上有座廟,廟裡有個老和尚和一個小和尚,老和尚正在給小和尚講故事:【從前有座山,山上有座廟,廟裡有個老和尚和一個小和尚,老和尚正在給小和尚講故事:[從前有座山,山上有座廟,廟裡有個老和尚和一個小和尚,老和尚正在給小和尚講故事:()......]】}

    這個故事不斷地呼叫自身,而遞迴就是函式呼叫自身若干次。所不同的是,遞迴不能像這個故事一樣無限次數的呼叫自身,遞迴必須有一個終止條件,呼叫若干次後就終止。

    這個解釋,夠白話了吧。

  • 3 # 日衝資訊 黃

    遞迴和迴圈是等價的,只不過實現方式不同而已。

    一個等價的例子

    求1到10累加:

    迴圈 用For迴圈在迴圈體內做累加計算,終止條件是 控制變數>10遞迴 累加計算和增1計算做遞迴公式,遞迴條件 控制變數<=10遞迴的優缺點遞迴的程式碼簡潔複雜度低 遞迴在處理複雜巢狀時,具備了迴圈無法比擬的優勢。遞迴的記憶體使用效率略高 遞迴使用棧的空間,隨著迴圈的進行,前面遞迴函式不能結束後面的遞迴函式不斷增加,棧空間增加,但到後期,遞迴函式開始完結,棧空間會迅速釋放。相比之下,迴圈體主要使用堆空間,迴圈過程中堆空間不斷增加,迴圈結束後不會立即釋放堆空間。遞迴容易引起棧記憶體的溢位 由於遞迴函式是動態申請棧空間,透過編譯和靜態程式碼解析,無法發現記憶體的溢位的問題。因此,遞迴對程式設計師的技術能力要求較高。理論上遞迴的執行速度略快 這是由於棧的讀寫速度要高於堆。

  • 4 # 交易密碼

    纏論中有二個其它傳統理論中沒有的概念,即遞迴和區間套。這二個概念既是纏論中的重點也是難點。區間套就是透過對大週期走勢的內部結構進行層層分解,從而找出行情的走勢型別及其轉折點。簡單地說,區間套技術就是一個放太鏡,將行情走勢的內部結構看得一清而楚。它是一個由大到小的過程。而遞迴則是透過小週期的走勢推匯出大週期的走勢型別,它是一個由小到大的過程。遞迴的方式主要有二種,一是線段的遞迴。即1分鐘的線段可以推匯出5分鐘的筆,5分鐘的線段可以推匯出30分鐘的筆,以此類推,可以逐步推出4小時日線周線的走勢等等。二是中樞的遞迴。即1分鐘的中樞可以推匯出5分鐘的筆,5分鐘的中樞可以推匯出30分鐘的筆,以此類推。

  • 中秋節和大豐收的關聯?
  • 良渚玉器盤玩後,會變紅嗎?盤紅後會影響價值嗎?