基本上,我正在努力掌握操作计数和 Big-O 符号。我知道这可能是计算机科学中最难理解的部分之一,我不得不承认我正在为此苦苦挣扎。谁能给我一些关于这些例子的帮助,可能还有关于 Big-O 的任何进一步的帮助/链接?
for (i = 0; i < N; i++)
{ for (j = i; j < N; j++)
{ sequence of statements }
}
在这里我会说复杂度是 O(N²) - 二次
int m = -9
for (j = 0; j < n; j+=5)
{
if (j<m)
{
for (k = 1; k <n; k*=3)
{some code}
}
}
这里我还要说是 O(N²)。第一个循环需要 N,第二个循环需要 N,所以我会说答案是 O(N*N),它等于 O(N²)。
任何有助于进一步理解的帮助和建议都会很棒!