在我的博文关于递归的一些简单想法,我用自己的理解谈了一些关于递归的看法,以下用 《数据结构与算法分析——C语言描写叙述》 一书中第 9 页的四条基本原则将我的思想加以规范化,并在兴许的不断加强学习中不断完好本文的内容。
在编写递归程序的时候,要牢记递归的四条基本原则:
- 基准情形:必须总有某些基准情形,它无需递归就能解出 —— 构成递归终止条件
- 不断推进:对于那些需要递归求解的情形,每一次递归调用都必需要使求解状况朝接近基准情形的方向推进 —— 由初始情形通过递归调用不断向递归终止条件推进
- 设计法则:如果全部的递归调用都能执行
- 合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做反复性的工作(三天内在斐波那契数列的实现中具体介绍这条法则并补充本文内容)