# 什么是递归思想
递归思想就是迭代思想在计算机中的表现
# 什么是迭代思想
例如求前n项和:1+2+3+4+5+...+n,人脑需要一个个的加过去,不停用前n-i项的和去加后面一项
# 递归思想的三要素
①将问题拆分为一个个基础的操作,缩减问题规模
②能使用递归思想的要求解决的方法与问题规模是无关的
③包含终止条件
# 第②点是什么意思
所选择的基础操作不会随着问题规模变化而变化。
例如求前n项时,sum = a[-1] +a [:-1],这个求和公式只要n>=0就都成立,不论n怎么变化都不会改变
# 第③点举例
# 对递归代码的理解
即上图中return a[-1] + Sum(a[:-1]),其是用了栈去存储了每一个a[i],知道遍历到了a[0]时终止,再将所有的a[i]值从栈中拿出并相加