时间复杂度(斐波那契数列演变)
展开全部
常见的算法的时间复杂度分为:
1,常数阶
常数阶算法运行的次数是一个常数,如5、20、100。常数阶算法时间复杂度通常用O(1)表示。例如:
2,多项式阶
很多算法时间复杂度是多项式,通常用O(n)、O(n²)、O(n³)等表示。例如:
3,指数阶
指数阶时间复杂度运行效率极差,程序往往像躲“魔鬼”一样避开它,常见的有O(2 n)、O(n!)、O(n n)等。使用这样的算法需要谨慎,例如斐波那契数列的正常递归实现
4,对数阶
对数阶时间复杂度运行效率较高,常见的有O(logn),O(nlogn)等,例如:
时间复杂度的大致排序为:
O(1)<O(logn)<O(n)<O(nlogn)<O(n²)<O(n³)<O(2 n)<O(n!)<O(n n)
斐波那契数列
后一项是前两项之和, 1 1 2 3 5 8 13
1,指数阶实现:
2,多项式阶实现:
算法优化(也可以使用尾递归):
3,对数阶
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询