码迷,mamicode.com
首页 > 编程语言 > 详细

第五课 算法的时间复杂度

时间:2018-08-18 10:33:11      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:使用   display   数据   com   是什么   完全   .com   运行   bsp   

  判断一个算法的效率时,操作数量中的常数项和其他次要项常常可以忽略,只需要关注最高阶项就能得出结论。

如何用符号定性的判断算法的效率呢?

  算法的复杂度:

时间复杂度:

  算法运行后对时间需求量的定性描述。

空间复杂度:

  算法运行后对空间复杂度的定性描述。

数据结构课程重点关注的是算法的效率问题,因此,整个课程会集中的讨论算法的时间复杂度,但其使用方法完全可以用于空间复杂度的判断。

大O表示法:

技术分享图片

 

常见的时间复杂度:

线性时间复杂度:

技术分享图片

 

对数阶时间复杂度:

技术分享图片

 

平方阶时间复杂度:

技术分享图片

 

下面代码片段的时间复杂度是什么:

练习1:

技术分享图片

 

 

技术分享图片

 

练习2:

技术分享图片

 

技术分享图片

func函数的时间复杂度是O(n*n)。

 

练习3:

技术分享图片

技术分享图片

test函数的时间复杂度为O(n*n*n)。

 

总结:

  时间复杂度是算法运行时对于时间的需求量

  大O表示法用于描述算法的时间复杂度

  大O表示法只关注操作数量的最高次项

  常见的时间复杂度为:线性阶、平方阶和对数阶。

 

第五课 算法的时间复杂度

标签:使用   display   数据   com   是什么   完全   .com   运行   bsp   

原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9495958.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!