【Python】递归算法
定义
递归是一种解决问题的有效方法,在递归过程中,函数将自身作为子例程调用。
思想
函数调用函数本身,直到不能调用为止
注意事项
- 基本情况用于保证程序调用及时返回,不在继续递归,保证了程序可终止。
- 递推关系,可将所有其他情况拆分到基本案例。
- 递推关系: 一个问题的结果与其子问题的结果之间的关系。
- 基本情况: 不需要进一步的递归调用就可以直接计算答案的情况。 它们往往是问题被减少到最小规模的情况,也就是如果我们认为将问题划分为子问题是一种自上而下的方式的最下层
使用情况
抓住问题本身是否可以通过层层拆解到最小粒度来得解
示例
斐波那契数列-递归
def feib(n): if n <= 1: return n else: return (feib(n-1) + feib(n-2)) if __name__ == "__main__": inu = int(input("输入斐波那契数列位数:")) if inu < 0: print("输入正整数") else: for i in range(inu): print(feib(i))
执行结果
-------------------------------------------------------------------------------------
如果万事开头难 那请结局一定圆满 @ Phoenixy
-------------------------------------------------------------------------------------