1. 程式人生 > >數據結構與算法之美專欄學習體會

數據結構與算法之美專欄學習體會

速查 次數 哈希 空間 快速查找 方法 非遞歸實現 抽象 計算

10 遞歸

  遞歸的含義:一種非常簡潔、高效的編碼技巧,方法/函數調用自身的方式稱之為遞歸,調用為“遞”,返回為“歸”。

  所有的遞歸問題都可以用遞推公式來表達。

  優點:代碼表達能力強,編碼簡潔。

  缺點:(1)空間復雜度高,存在棧溢出風險(策略:可以設置遞歸次數強行終止條件);(2)存在重復計算,針對這一點可以(策略:可以額外增加哈希表來快速查找結果而減少重復計算);(3)過多函數調用耗時較長。

  針對上述缺陷,任何一個遞歸問題(籠統來講)都可以轉化為非遞歸實現方式。方法:抽象出遞推公式、初始值、邊界條件,然後用循環來實現。

數據結構與算法之美專欄學習體會