排序的时间复杂度度O(1) 与O(2)有什么区...

【图文】数据结构第1、2章练习题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
数据结构第1、2章练习题
上传于||暂无简介
大小:181.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢算法部分作业答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
算法部分作业答案
上传于||文档简介
&&大​部​分​的​重​要​作​业​答​案​都​在​上​面​,​自​己​做​的​哦​,​答​案​是​正​确​的
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩12页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢复习_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
上传于||暂无简介
大小:1.14MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢数据结构中时间复杂度和语句频度有什么区别?比如语句频度为(n+1)(n+2)/2那么他的时间复杂度_百度知道Algorithm(4)
大O符号(Big O notation)是用于描述函数渐进行为的数学符号。
也可以这么说:
用一个大O,在其括号()中,用另一个函数来描述原来的函数的数量级的渐进上界
计算机科学中,用于分析算法复杂性非常有用
这个符号有两种形式上很接近但迥然不同的使用方法:无穷大渐近与无穷小渐近。然而这个区别只是在运用中的而不是原则上的——除了对函数自变量的一些不同的限定, “大O”的形式定义在两种情况下都是相同的
分析算法复杂度时,用的O都代表无穷大渐进,表示n趋近于无穷大的情况
2.1 无穷大渐进
举例如下:
假设,解决一个规模为n的问题所花费的时间(或者所需步骤)可以表示为:
T(n) = 4n2 - 2n + 2
当n越来越增大时,n2项将开始占主导地位,而其它各项可以被忽略(自然包括2)
例如:当n=500时,4n2 项是2n项的1000倍大,因此在大多数非精确场合下,省略2n项对表达式值得影响是可以忽略不计的
其实进一步看,与n2的指数相比其系数4(与指数增大相比系数是很小的)也是无关紧要的
这样,大O符号就记下剩余的部分,写作:
T(n)∈O(n2)
或者更常见的
T(n)=O(n2)
此时,我们就说该算法具有n2阶(平方阶)的时间复杂度
2.2 无穷小渐进
3. 常用函数阶
下表是在分析算法时常见的函数。这些函数都处于n趋近于无穷大的情况下,在这种情况下函数结果值增长的慢的在表上方。c是一个任意常数,重点是n
名称(后面都要+个“阶”)
对数,情况最多的底数为2(但也可能为其它),但是底数无关紧要,所以不明确说底数
O[(long n)c]
O(n log* n)
log* n为迭代对数
O(n log n)
O(nc),Interger(c&1)
多项式,有时叫“代数”
指数,有时叫“几何”
阶乘,有时叫“组合”
时间复杂度
时间复杂度的分析基本就是上边2.1,这里想说的是关于时间复杂的一些让我混淆的概念
最坏时间复杂度
一般来说,我们希望获得一个算法的时间效率下限。这就是所谓最坏时间复杂度,它是一个保证
平均时间复杂度
不过通常来说,我们碰到的问题情况应该是既不是最坏的也不是最好的,所以算下来是平均情况居多
但是,平均情况经常不可能准确得到,所以通常它是指的一种数学期望值
最好时间复杂度
最好的情况就是待处理数据就是我们想要的数据形式,那么此时时间复杂度为:O(1),但这没什么意义
我并不是说最好时间复杂度是O(1),可能是吧,但是一般认为:考虑最好情况下的复杂度没有意义
一般来说,当我们说“时间复杂度”时,一般指的是平均时间复杂的
如果明确说“最坏”、“平均”或者“最好”那么就没有异议
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:41635次
积分:1298
积分:1298
排名:千里之外
原创:74篇
评论:15条
(1)(1)(5)(9)(15)(12)(4)(4)(11)(6)(1)(1)(2)(1)(1)(3)(2)}

我要回帖

更多关于 排序的时间复杂度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信