Nel libro Interviste di programmazione Exposed dice che la complessità del programma qui sotto è O (N), ma non capisco come sia possibile. Qualcuno può spiegare perché questo è?Qual è la complessità di questo codice il cui ciclo annidato per ripetutamente raddoppia il contatore?
int var = 2;
for (int i = 0; i < N; i++) {
for (int j = i+1; j < N; j *= 2) {
var += var;
}
}
* "si dice" * Che cosa dice? Dicci qualunque cosa tu stia assumendo qui. – dmckee
Ho apportato la modifica, mi dispiace per la vaghezza –
Questa struttura ad anello è strettamente correlata a quella per l'algoritmo di heapify e l'analisi sarà molto simile. – templatetypedef