[递归 迭代 之间的转化]以Python代码为例.
#Python2.5#例子:求0-100的和的函数的程式;
#第一种定义-尾递归--函数式语言的写法。
def sum(n,p=0):
ifn==0 :return p;
elif n> 0 :return sum(n-1,p+n);
#第二种定义-迭代--命令式语言的写法。
def sum2(n,p=0):
while True:
ifn==0:return p;
elif n >0:n,p=n-1,p+n;
#可见尾递归转化成迭代是非常简单的。。
##而且尾递归完全可以当迭代来理解。。
页:
[1]