lufeng369 发表于 2006-11-25 16:51:46

[递归 迭代 之间的转化]以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]
查看完整版本: [递归 迭代 之间的转化]以Python代码为例.