1. TI(n)=nlog2n+1000log2n
2. T2(n)=nlog33-1000log2n
3.T3(n)= n2-1000log2n
4. T4(n)=2nlog2n -1000log2n选B。考察渐近时间复杂度分析。
首先引出大O记号的概念,供后续比较复杂度使用:
设函数f(n)和g(n)是定义在非负整数集合上的正函数,如果存在两个正常数c和n0,使得当n≥n0时,有f(n)≤cg(n),则记做f(n) = O(g(n)),称为大O记号,称g(n)是f(n)的一个上界 。
注: f(n)的阶不高于g(n)。
1.时间复杂度反映的是随着问题规模的变大,计算所需的时间的增长速度,与系数的多少关系不大。
2.算法的渐近时间复杂度,简称时间复杂度,很多时候为了便于理解,直接把时间复杂度等同于O()是可以的。
3.常见的时间复杂度,及其增长速度比较:
O(1)<O(log n)<O(n)<O(nlog n)<O(n^2)<O(n^3)< O(2^n)<O(n!)<O(n^n)
如下图,可以清晰直观地看到大O的变化趋势:
下面分别计算题中四个函数的时间复杂度:
由不等式O(n)<O(nlog n)<O(n2)可得,当n趋近于无穷大时,函数T2(n)的渐近时间复杂度最小。
分析过程过程:
选项中以2为底的对数作了n的指数,