官术网_书友最值得收藏!

1.4.1 認知遞歸

子程序(或函數)直接調用自己或通過一系列調用語句間接調用自己,稱為遞歸。直接或間接調用自身的算法稱為遞歸算法。遞歸的基本思想就是“自己調用自己”,體現了“以此類推”“重復同樣的步驟”這樣的理念。實際上,遞歸是把一個不能或不好解決的大問題轉化為一個或幾個小問題,再把這些小問題進一步分解成更小的小問題,直至每個小問題都可以直接解決。

通常,采用遞歸算法來求解問題的一般步驟如下:

(1)分析問題、尋找遞歸關系。找出大規模問題和小規模問題的關系。換句話說,如果一個問題能用遞歸方法解決,它必須可以向下分解為若干個性質相同的規模較小的問題。

(2)找出停止條件,該停止條件用來控制遞歸何時終止,在設計遞歸算法時需要給出明確的結束條件。

(3)設計遞歸算法、確定參數,即構建遞歸體。

遞歸算法的運行過程包含兩個階段:遞推和回歸。遞推指的是將原問題不斷分解為新的子問題,逐漸從未知向已知推進,最終達到已知的條件,即遞歸結束的條件。回歸指的是從已知的條件出發,按照遞推的逆過程,逐一求值回歸,最后達到遞推的開始處,即求得問題的解。

主站蜘蛛池模板: 渝中区| 兴化市| 丹寨县| 宁远县| 阿克苏市| 新干县| 桃园市| 南投县| 铜山县| 阜城县| 得荣县| 建德市| 神池县| 长乐市| 上林县| 汝南县| 鄯善县| 新建县| 遂川县| 清新县| 崇文区| 鹿邑县| 历史| 红安县| 洱源县| 友谊县| 洛阳市| 永春县| 栾川县| 扬州市| 德庆县| 潞城市| 库伦旗| 台中县| 台南县| 诸暨市| 忻州市| 江城| 洛川县| 宁城县| 灵寿县|