遞歸算法的一點理解


  • 遞歸算法實際上就是一個方法自己調用自己.一個遞歸技術的方法將會直接或間接的調用自己
  • 遞歸算法需要注意跳出條件,否則容易棧溢出.
  • 遞歸結構包括兩個部分:
    • 定義遞歸頭:這個遞歸頭將解決什么時候停止調用自己的問題,如果沒有遞歸頭,將會導致方法不停地調用自己。
    • 遞歸體:遞歸體,用於解決什么時候調用自己的問題。
  • 遞歸算法需要問題解析:
    • 為什么不推薦使用遞歸?
      • 因為遞歸使用不好,容易造成死循環,導致程序不正常。
      • 本身遞歸算法計算效率也不高,所以不推薦使用。
    • 為什么遞歸算法效率不高呢?
      • 這點還沒有來得及詳細研究,但是因為遞歸每次都會調用自己,而自己的局部變量每次都會更新,這就會在棧空間內推薦不斷地開辟新的空間。不停滴開辟空間,也是一項耗時費力的工作,而且這也是遞歸算法不安全,容易造成棧溢出的原因。
    • 遞歸算法有哪些優點?
      • 結構清晰
        • 1:首先是設定好遞歸的出口,
        • 2:接着就是遞歸體調用自己。
        • 所以遞歸算法非常的簡單清晰。
    • 遞歸的缺點:缺點就是上面說的那些,效率低,容易造成死循環等。


免責聲明!

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



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