递归算法的设计要素
递归思维是一种从下向上的思维方式,使用递归算法往往可以简化我们的代码,
而且还帮我们解决了很复杂的问题。递归算法的难点就在于它的逻辑性,一般设计
递归算法需要考虑以下几点:
- 明确递归的终止条件
- 提取重复的逻辑,缩小问题的规模不断递去
- 给出递归终止时的处理办法
递归算法的经典实例
一一问题定义即为递归定义
- 阶乘
- 斐波纳契数列
- 杨辉三角的取值
一一问题应用递归算法来解决
- hanoi塔问题
一一部分数据结构也是用递归来定义的
- 树
问题递归定义
阶乘递归图解–例求f(4)
●斐波纳契数列
应用递归算法解决问题
在分治算法中有详细介绍。
数据结构中的递归定义
●树
请看(微信公众号“Java长征记”)数据结构环节的讲解。