如何使用Big-O表示法表示其复杂性?我有点困惑,因为第二个for循环根据外部循环的索引而改变。它还是O(n ^ 2)吗?还是不那么复杂?提前致谢
for (int k = 0; k<arr.length; k++){
for (m = k; m<arr.length; m++){
//do something
}
}
答案 0 :(得分:5)
答案 1 :(得分:3)
如果添加第二个循环的所有迭代,则得到1 + 2 + 3 + ... + n,它等于n(n + 1)/ 2(n是数组长度)。那是n ^ 2/2 + n / 2。正如您可能已经知道的那样,大写符号中的相关术语是最大的幂,并且系数不相关。所以,你的复杂性仍然是O(n ^ 2)。
答案 2 :(得分:1)
运行时是c ^的n ^ 2循环的一半
希望有所帮助