数据结构与算法,请问时间复杂度是怎么判定的?

这道题假定外层循环n为4,外层循环不是应该执行3次吗?log2 4可是等于2的,内层循环执行n次倒是可以理解,一共不是执行n乘以log2n+1次吗?不明白为什么最后选择的是C

显然是C
外层k增长速度了 *2 意味着 跑完n个数 只需要logn次,
内层n 是线性增长, 时间复杂度是n
乘一起就是 O(nlogn)
复杂度就是几种,线性的 n, 多项式的 n^k 幂指数 k^n , logn, 其中n的系数是多少都无关紧要,时间复杂度的基础就是n的增长速度,2n也是n ; (2n)^2 也是n^2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-07
计算时间复杂度的时候一般把 加 和 乘 的系数去掉,比如:O(0.5*n^2+n+0.5)记为O(n^2)本回答被提问者采纳
第2个回答  2019-09-08
算法是处理数据的一种方法,最终也是为了解决某一个或某一类问题,而通常情况下,问题的解决思路都不只一种!所以看情况而定!
相似回答