Python算法之递归
一、递归
1.1 累加改为递归
def listsum(numList):
theSum = 0
for i in numList:
theSum = theSum + i
return theSum
print(listsum([1,3,5,7,9]))
def sumnum(nums):
if len(nums) == 1:
return nums[0]
else:
return nums[0] + sumnum(nums[1:])
print(sumnum([1,3,5,7,9]))
1.2 递归三定律
- 像阿西莫夫机器人,所有递归算法必须服从三个重要的定律:
- 递归算法必须具有基本情况。
- 递归算法必须改变其状态并向基本情况靠近。
- 递归算法必须以递归方式调用自身。
参考链接
1、https://facert.gitbooks.io/python-data-structure-cn/4.递归/4.3.计算整数列表和/