1. 基准情形: 必须有某些基准情形,她无需递归即可解出。
2. 不断推进: 对于需要递归求解的情形,每次递归调用都必须使得求解状况朝着基准情形推进。
3. 设计法则: 假设所有的递归调用都能运行。
4. 合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性工作。
其中第四点在递归的效率中至为关键。这是为什么用递归实现斐波那契数列效率很低,而在二叉树中表现相当优良的原因!
本文探讨了递归算法的四个关键要素:基准情形、不断推进、设计法则和合成效益法则。通过分析斐波那契数列和二叉树等实例,揭示了递归在不同场景下的效率差异。
1. 基准情形: 必须有某些基准情形,她无需递归即可解出。
2. 不断推进: 对于需要递归求解的情形,每次递归调用都必须使得求解状况朝着基准情形推进。
3. 设计法则: 假设所有的递归调用都能运行。
4. 合成效益法则:在求解一个问题的同一实例时,切勿在不同的递归调用中做重复性工作。
其中第四点在递归的效率中至为关键。这是为什么用递归实现斐波那契数列效率很低,而在二叉树中表现相当优良的原因!
518

被折叠的 条评论
为什么被折叠?
