递归用处很广,可以将复杂问题简单化。
很多问题都可以使用递归算法或结合递归算法得到解决。
那么,设计递归算法的关键是什么? 其关键之处在于,正确分析出2种类型的节点:出口节点和入口节点
一 算法关键: 出口节点 , 入口节点
递归问题可看做是由各个节点构成,而所有节点只能分为出口节点、入口节点两类。
1)出口节点: 可直接计算此节点的值,不需借助其他节点
那什么情况下,不必再递归了呢?
确定结果了,自然就不用继续递归了,这也是递归的出口, 递归的根基。 所以这个根基必须判断好,这是递归是否成功的一个关键之处。
因此,第一个的关键是:确定哪些节点是出口节点。
2)入口节点: 无法直接计算此节点的值,但此节点的值可根据后续节点的值计算。
入口节点与后续节点的数学或逻辑关系