- 算法設計與分析:基于C++編程語言的描述
- 王秋芬 趙剛彬編著
- 459字
- 2024-12-13 09:52:13
1.4.1 認知遞歸
子程序(或函數)直接調用自己或通過一系列調用語句間接調用自己,稱為遞歸。直接或間接調用自身的算法稱為遞歸算法。遞歸的基本思想就是“自己調用自己”,體現了“以此類推”“重復同樣的步驟”這樣的理念。實際上,遞歸是把一個不能或不好解決的大問題轉化為一個或幾個小問題,再把這些小問題進一步分解成更小的小問題,直至每個小問題都可以直接解決。
通常,采用遞歸算法來求解問題的一般步驟如下:
(1)分析問題、尋找遞歸關系。找出大規模問題和小規模問題的關系。換句話說,如果一個問題能用遞歸方法解決,它必須可以向下分解為若干個性質相同的規模較小的問題。
(2)找出停止條件,該停止條件用來控制遞歸何時終止,在設計遞歸算法時需要給出明確的結束條件。
(3)設計遞歸算法、確定參數,即構建遞歸體。
遞歸算法的運行過程包含兩個階段:遞推和回歸。遞推指的是將原問題不斷分解為新的子問題,逐漸從未知向已知推進,最終達到已知的條件,即遞歸結束的條件。回歸指的是從已知的條件出發,按照遞推的逆過程,逐一求值回歸,最后達到遞推的開始處,即求得問題的解。
推薦閱讀
- Learning ArcGIS Pro 2
- 微信小程序開發解析
- 小程序開發原理與實戰
- Getting Started with Gulp
- 低代碼平臺開發實踐:基于React
- Django 3.0入門與實踐
- HTML5+CSS3+JavaScript 從入門到項目實踐(超值版)
- 小程序從0到1:微信全棧工程師一本通
- 玩轉.NET Micro Framework移植:基于STM32F10x處理器
- Mastering Concurrency in Python
- PowerDesigner 16 從入門到精通
- Clojure Polymorphism
- 數字媒體技術概論
- Python應用開發技術
- Java多線程并發體系實戰(微課視頻版)