Python算法day02

Python算法之递归

  • 一、递归
    • 1.1 累加改为递归
    • 1.2 递归三定律
  • 参考链接

一、递归

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]))

Python算法day02_第1张图片

1.2 递归三定律

  • 像阿西莫夫机器人,所有递归算法必须服从三个重要的定律:
    • 递归算法必须具有基本情况。
    • 递归算法必须改变其状态并向基本情况靠近。
    • 递归算法必须以递归方式调用自身。

参考链接

1、https://facert.gitbooks.io/python-data-structure-cn/4.递归/4.3.计算整数列表和/

你可能感兴趣的:(数据结构与算法)