函数递归

习题另开了一个随笔,欢迎查看。

函数递归调用:

函数递归调用,即一种特殊的嵌套调用。在调用一个函数的过程中,又直接或间接地调用了该函数的本身。

递归必须要有两个阶段:递推与回溯

递推:一层一层递归调用下去,强调每进入下一层递归的规模都必须有所减少。

回溯:递归必须要有一个明确的结束条件,在满足该条件时结束递推,并开始回溯。

递推的精髓在于通过不断的重复逼近一个最终的结果

 

为什么要用函数递归:递归做的事循环都嗯那个解决,但是有的用递归做起来会比较简单。

 

直接调用 
import sys
print(sys.getrecursionlimit())
sys.setrecursionlimit(3000)
def foo(n):
print('from foo',n)
foo(n+1)
foo(0)

间接调用,原理还是一样,到用函数bar还是胡i执行调用foo

def bar():
print('from bar')
foo()

def foo():
print('from foo')
bar()

foo()


 

posted @ 2018-06-14 15:14  Roc_Atlantis  阅读(141)  评论(0编辑  收藏  举报