Hallo Ich versuche, die Zeitkomplexität dieses Algorithmus zu analysieren, aber ich habe schwieriges Entwirren und Zählen, wie oft die letzte Schleife ausgeführt wird. Ich stelle fest, dass die erste Schleife log (n) ist, aber danach kann ich nicht zu einer Summe kommen, die gut auswertet. Hier ist der Algorithmus:Zeitkomplexitätsanalyse des Algorithmus
for(int i = 1; i <= n; i = 2*i){
for(int j = 1; j <= i; j = 2*j){
for(int k = 0; k <= j; k++){
// Some elementary operation here.
}
}
}
Ich kann nicht herausfinden, wie oft die Schleife k führt im Allgemeinen w.r.t zu n
Vielen Dank für jede Hilfe!
Mögliches Duplikat [Wie die Zeit Komplexität finden ein Algorithmus] (http://stackoverflow.com/questions/11032015/how-to-find-time-complexity-of-an-algorithm) –