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

如题所述

结果为: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))

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-01
时间复杂度为O(n)
原式=n+log2n+14
n比log2n,14都高阶,所以只用考虑n,即O(n)追问

一个算法的时间复杂度为(n^3+n^2log2*n+14*n)/n^2,其数量级表示为________。

追答

O(n)

本回答被提问者采纳
相似回答