python 递归算法例子

def test(a=10):
	print(a)
	if a < 1:
		return
	test(a - 1)

运行 test (),输出结果如下 h:

10      9       8       7       6       5       4       3       2       1       0

剪枝

递归过程中可能存在大量重复计算,譬如斐波那契数列的递归计算过程中,fib(2) 可能被调用很多次,我们通过缓存计算结果,可以很大程度上提高计算速度和内存消耗。