一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________。

如题所述

第1个回答  2020-03-29
结果为:O(n)
解题过程如下:
因为时间复杂度是计算n趋于无穷大时候的无穷大量的最大阶次
结果第一项是n,第2项是log2n,第3项是1/n,
当n趋于无穷大时,第二项比第一项小,第3项为0
所以(n3+n2log2n+14n)/n2,其数量级表示为O(n)
扩展资料
时间复杂度计算方法:
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得T(n)/f(n)的极限值(当n趋近于无穷大时)为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n))
为算法的渐进时间复杂度,简称时间复杂度。
随着模块n的增大,算法执行的时间的增长率和
f(n)
的增长率成正比,所以
f(n)
越小,算法的时间复杂度越低,算法的效率越高。
在计算时间复杂度的时候,先找出算法的基本操作,然后根据相应的各语句确定它的执行次数,再找出
T(n)
的同数量级(它的同数量级有以下:1,log2n,n,n
log2n
,n的平方,n的三次方,2的n次方,n!),找出后,f(n)
=
该数量级,若
T(n)/f(n)
求极限可得到一常数c,则时间复杂度T(n)
=
O(f(n))
第2个回答  2020-03-17
时间复杂度为O(n)
原式=n+log2n+14
n比log2n,14都高阶,所以只用考虑n,即O(n)
第3个回答  2019-03-24
O(n)级别.
计算渐进复杂度只需看最高次.
不过一般的算法复杂度很少出现除法,不知道这个/n^2是怎么来的?
相似回答