遞歸算法(圖文詳解)


一、算法概述

遞歸算法是一種直接或者間接調用自身函數或者方法的算法。說簡單了就是程序自身的調用。

二、算法實質

遞歸算法就是將原問題不斷分解為規模縮小的子問題,然后遞歸調用方法來表示

三、算法思想

遞歸算法,顧名思義就是有兩個大的階段:遞和歸,即就是有去(遞去)有回(歸來)。

  • 遞去:將遞歸問題分解為若干個規模較小,與原問題形式相同的子問題,這些子問題可以用相同的解題思路來解決
  • 歸來:當你將問題不斷縮小規模遞去的時候,必須有一個明確的結束遞去的臨界點(遞歸出口),一旦達到這個臨界點即就從該點原路返回到原點,最終問題得到解決。
  •  

    四、遞歸算法的設計要素

  • 遞歸思維是一種從下向上的思維方式,使用遞歸算法往往可以簡化我們的代碼, 而且還幫我們解決了很復雜的問題。遞歸算法的難點就在於它的邏輯性,一般設計 遞歸算法需要考慮以下幾點:

    • 明確遞歸的終止條件
    • 提取重復的邏輯,縮小問題的規模不斷遞去
    • 給出遞歸終止時的處理辦法

      五、遞歸算法的經典實例

      一一問題定義即為遞歸定義

      • 階乘
      • 斐波納契數列
      • 楊輝

         

      一一問題應用遞歸算法來解決

      • hanoi塔問題

      一一部分數據結構也是用遞歸來定義的

      • 問題遞歸定義

        ●階乘

      •  

         階乘遞歸圖解–例求f(4)

      •  

         

        ●斐波納契數列

         

         

         

        ●楊輝三角的取值

      • 應用遞歸算法解決問題

         

      •  

         

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM