I was just reading another question and this code intrigued me:
for(i = 0; i < n; i++)
{
for(j = 0; j < i*i; j++)
{
for(k = 0; k < i*j; k++)
{
pseudo_inner_count++;
for(l = 0; l < 10; l++);
}
}
}
I don't understand how this can be O(N^6). Can someone break it down for me?
Actually it is:
The loops are nested so we have to multiply these together (do you understand why?). The total is O(N)*O(N^2)*O(N^3) = O(N^6).
It's
n for the first loop n² for the second loop n³ for the third loop
The inner loop is O(1)
The total is O(n⁶).
The reason the third loop is n³ is because when you think about it j reaches n² and i reaches n, so i*j reaches n³.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With