0
我一直在搜索大O表示法的論壇,並且學到了很多東西。我的問題非常具體,我認爲一個獨特的案例會更好地幫助我理解大O,我忽略了常量。嵌套順序循環的大O表示法
我的理解是否循環遍歷所有元素比它的O(n)。
for(int i = 0; i < n; i++)
{
}
如果循環遍歷所有的n,另一個迴路,通過所有n的走了進去,就會將它乘以N * N = N^2
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
}
}
最後,如果一個循環接着另一個循環通過它是N + N = 2的所有元素變爲
for(int j = 0; j < n; j++)
{
}
for(int k = 0; k < n; k++)
{
}
我的問題直接進入這些代碼行
for(int i = 0; i < n; i++)
{
for(int j = 0; j < n; j++)
{
}
for(int k = 0; k < n; k++)
{
}
for(int l = 0; l < n; l++)
{
for(int m = 0; m < n; m++)
{
}
}
}
因此,基於上述規則,我計算大O操作是n *(N + N + N * n),其爲n^3 + 2N^2。那麼這會讓我的大O(n^3)還是會讓我的大O成爲O(n^3 + 2n^2)。我是否全部錯了?還是我在球場附近?主要是我想弄清楚這些循環是否會小於O(n^4)。提前致謝。