W książce Wywiady programistyczne Exposed mówi, że złożoność poniższego programu to O (N), ale nie rozumiem, jak to jest możliwe. Czy ktoś może wyjaśnić, dlaczego tak jest?Jaka jest złożoność tego kodu, którego zagnieżdżona pętla for wielokrotnie podwaja swój licznik?
int var = 2;
for (int i = 0; i < N; i++) {
for (int j = i+1; j < N; j *= 2) {
var += var;
}
}
* "To mówi" Co mówi? Powiedz nam, cokolwiek tu jest, zakładasz. – dmckee
Zrobiłem edycję, przepraszam za niejasności –
Ta struktura pętli jest bardzo ściśle powiązana z tą dla algorytmu stapiającego, a analiza będzie bardzo podobna. – templatetypedef