数据结构之循环递归大战

数据结构之循环递归大战


循环与递归的区别:
循环是对一些语句的重复执行。 循环不会增大调用堆栈,无论循环执行了多少次。 循环与递归函数之间的一个重要区别是,循环使用迭代器来遍历循环,而递归函数必须对比结果才知道何时退出。

  • 实例:用循环和递归分别实现斐波那契函数
// 循环
def fib(n):
	a=0
	b=1
	for i in range(1,n+1):
		b = a + b
		a = b - a 
	return a

注意:利用循环求其时间复杂度为O(n)

// 递归
def fib(n):
    if n <= 1:
        return n
    else:
        return fib(n - 1) + fib(n - 2)

切记:利用递归求索,一定要有限定条件

猜你喜欢

转载自blog.csdn.net/weixin_42590877/article/details/86556419