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

数据结构和算法-时间复杂度和空间复杂度

时间:2015-04-16 21:29:33      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:

算法时间复杂度的定义】

在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,也就是算法的时间量度,记作:T(n) = O(f(n))。它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐近时间复杂度,简称为时间复杂度。其中f(n)是问题规模n的某个函数。

即:执行次数=时间

如何分析一个算法的时间复杂度?即:如何推到大O阶呢?】

     -用常数1取代运行时间中的所有加法常数

     -在修改后的运行次数函数中,只保留最高阶项

     -如果最高阶项存在,且不是1,则去除与这个相乘的常数

     -得到的最后的结果就是大O阶

【常见的时间复杂度】

技术分享

技术分享

【常用的时间复杂度所耗费的时间从小到大依次是】

技术分享

【最坏情况与平均情况】

技术分享

【算法的空间复杂度】

技术分享

 

数据结构和算法-时间复杂度和空间复杂度

标签:

原文地址:http://www.cnblogs.com/boy1025/p/4433183.html

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