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