I have been having a debate with a couple of folks regarding the time complexity of this nested for loop algorithm:
for (i=1;i<=n;i*=2){
for (j=1;j<=i;j ) {
// some O(1) operation
}
}
Now I believe that the complexity of the algo is O(NlogN), reason being that the complexity of outer loop is O(logN) and that of inner loop is O(N).
However, a couple of folks have calculated the complexity of this algo to be O(N) using some method involving AP/GP.
What's the complexity of this algo? If it actually is O(N), what's the intuition behind it?
CodePudding user response:
The outer loop has a loop variable
