尾递归
尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况
def fact(n):
return fact_iter(n,1)
def fact_iter(num, product):
if num ==1:
return product
return fact_iter(num -1, num * product)
尾递归
尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况
def fact(n):
return fact_iter(n,1)
def fact_iter(num, product):
if num ==1:
return product
return fact_iter(num -1, num * product)
本文标题:尾递归
本文链接:https://www.haomeiwen.com/subject/naipvftx.html
网友评论