![]() |
1
7
它是O(n ^ 2)。您可以看到内部循环执行的次数是:
因为每个外部循环迭代都会删除一个小部件。即(n^2+n)/2,即o(n^2)。 |
![]() |
2
5
因为你要通过两个循环,它是O(n^2)。 |
![]() |
3
4
因为断言:
O(n)的答案 二 )是正确的,但在一般情况下,如果列表的长度不一定相同,您可以将其称为O(m*n)。 |
![]() |
4
3
该算法的性能最差为O(n^2)。 |
![]() |
5
2
是O(n^2),但我认为人们缺少此问题的“删除”部分。
你可能认为你降低了big-o,但是所有的删除操作都是将系数乘以1/2。 这是因为n+(n-1)+…+2+1=n(n+1)/2。当n变为无穷大时,它变为n^2/2,即0(n^2) |
![]() |
6
2
冒着相反和学究的风险,你真的没有提供足够的信息来回答一般的问题。当然,性能并不比O(n^2)好,但是由于您没有给出关于您在内部循环中所做的事情的详细信息,所以通常情况下会更糟。但是,假设内部循环中的情况是O(1),那么总体性能是O(n^2)。 |
![]() |
7
0
是的,这就是为什么这些大问题总是很难解决的原因。 但如果我不得不猜的话,我会说O(n^2),因为你每次都要通过2个循环来执行一些操作。 |
![]() |
Dazcii · 如何找到3个嵌套循环的复杂性 7 年前 |
![]() |
Kodean · Java:循环字符串长度时间复杂性 7 年前 |
![]() |
screeb · 依赖于收敛的算法的大O 7 年前 |
![]() |
f1sh3r0 · 从图中确定渐近增长率 7 年前 |
![]() |
user3487554 · 时间复杂性组合 7 年前 |
|
user6217340 · 大O复杂性 7 年前 |
![]() |
Jawwad Rafiq · 对两个相关循环的复杂性感到困惑? 7 年前 |