我只是在学习Big O符号,并想知道它如何适用于嵌套循环。
在
的情况下是真的吗?for (int i = 0; i < N; i++){
for (int j = 0; j < N; j++){
do something;
}
}
这将是O(N平方),而
for (int i = 0; i < 1000; i++){
for (int j = 0; j < N; j++){
do something;
}
}
它是O(N),因为第一个循环有一个常数?或者它仍然是O(N平方)?谢谢
答案 0 :(得分:4)
你的第一个陈述是正确的。 N可以非常大,O(n)将其考虑在内。
所以第一个代码是O(N ^ 2) 而第二个是O(1000 * N)=&gt;还是O(N)
BIG O表示法不包括常量