递归特性,思维要点
递归的本质就是函数调用自身,每次都会带着当前层的状态或参数下探到下一层,进行重复性的步骤,直至递归出口,携带改变后的状态结果返回到上一层。
def recursion(level, parma1, prams2,...): # 1.递归终止条件 if level > MAX_LEVEL: # process result 处理结果 return # 2.处理当前层逻辑 process(level, data...) new_level = level +1 # 更新参数状态 # 3.下探到下一层 recursion(new_level, new_p1, new_p2)
思维要点
1.不要人工进行递归(最大误区)
2.找到最近最简单方法,将其拆解成可重复解决的问题(重复子问题)
3.数学归纳法,
-
比如,最简单的条件n=1,n=2条件成立,且能证明当n成立时,可以推导出n+1也成立
作者: Deaseyy
出处: http://www.cnblogs.com/Deaseyy/
新手一枚,请大佬们多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接