Performance 不同类型的问题;主持人需要注意
我只是想弄明白为什么Performance 不同类型的问题;主持人需要注意,performance,big-o,asymptotic-complexity,Performance,Big O,Asymptotic Complexity,我只是想弄明白为什么 3^2500 < log(n) < 5log(n) < nlog(n^2) < nlog(n) < n^270 对于这个代码片段,最好的情况和最坏的情况都是O(n),对吗 我是这样想的,因为不管怎样,for循环的大小都是n myIntegerList包含多少个元素?此外,没有任何操作或操作 导致代码结尾的语句 注意: 3^2500是O(1) 日志(n)是O(日志n) 5log(n)也是O(logn),但是一个更高的常数 nlog(n²)是O
3^2500 < log(n) < 5log(n) < nlog(n^2) < nlog(n) < n^270
对于这个代码片段,最好的情况和最坏的情况都是O(n),对吗
我是这样想的,因为不管怎样,for循环的大小都是n
myIntegerList包含多少个元素?此外,没有任何操作或操作
导致代码结尾的语句 注意:
- 3^2500是O(1)
- 日志(n)是O(日志n)
- 5log(n)也是O(logn),但是一个更高的常数
- nlog(n²)是O(n·logn²)=O(2·n·logn)=O(n·logn)
- nlog(n)也是O(n·logn),但常数较小
- n^270是O(n²⁷⁰)李>
log(n^2)
log(n)
5log(n)~log(n)
nlog(n)>5log(n)
因为5是一个常数系数
因此,正确的答案是:
13^2500
对于这个代码片段,最好的情况和最坏的情况都是O
(n) 对吧?
是的。您正在迭代myIntegerList
中的所有元素。其中n
是myIntegerList
中的元素数
我是这样想的,因为for循环的大小是n
不管
myIntegerList包含多少个元素
错误。这取决于
myIntegerList
包含的元素的数量。此外,for
循环迭代myIntegerList
中的所有元素,并在迭代完成后停止。程序将在for
循环完成后自动结束。您为什么认为nlog(n^2)sum = 0
for i in myIntegerList:
if i > 0:
sum += i