时间复杂度
萌新,想问问这题时间复杂度为啥是这个 选择题还是用排除法吧{:10_279:} 本帖最后由 Daniel_Zhang 于 2021-2-16 18:48 编辑while 的时间复杂度是 logn
for的时间复杂度是 n
因为 for 循环了 (n + 1) - 1 = n 次, while 在 for 里面,所以时间复杂度为 O(nlogn) 欧米伽打不出来,抱歉{:10_245:}
A 是单层 for 循环
B 是双层 for 循环嵌套
C 是单独的一个 print 或者赋值等其他的什么东西,时间复杂度为一个常量
D 是 for while 嵌套循环 Daniel_Zhang 发表于 2021-2-16 18:45
while 的时间复杂度是 logn
for的时间复杂度是 n
想问下while的时间复杂度为什么是logn?
KAKA学python 发表于 2021-2-17 13:54
想问下while的时间复杂度为什么是logn?
这个就是约定俗成的,你要真的去推导可能还挺麻烦的
这些东西其实也就是靠记的,没什么特别的东西
你可以尝试一下百度看看为什么 while 的时间复杂度是 logn while(n--)
{
}
时间复杂度就是O(n)啊,和是不是while没有关系,要知道while和for是相似的
这个我理解的是1+2+3+...+x <= n
即(x^2+x)/2 <= n
即x^2 <= n
所以x = logn(以2为底),那时间复杂度就是logn了
页:
[1]