什么是递归?递归和循环的异同

简单来说,循环是有去无回,而递归则是有去有回(因为存在终止条件)。

def fib(x):
    if x < 2:
        return 0 if x == 0 else 1
    # 当x > 2时,开始递归调用fib()函数:
    return fib(x - 1) + fib(x - 2)

print(fib(6))  # 打印结果为:8

递归函数的必要条件:终止条件,递归调用。在达到终止条件之前,重复递归调用函数。

循环函数的必要条件:循环终止条件。

上一篇:剑指 Offer 10- I. 斐波那契数列


下一篇:JavaScript算法:斐波那契数