Dies ist Pseudocode. Ich habe versucht, die Zeitkomplexität dieser Funktion zu berechnen, wie this answer sagte. Es sollte wie sein:Wie groß ist die zeitliche Komplexität dieses Pseudocodes?
n + n/3 + n/9 + ...
Vielleicht ist die Zeit Komplexität so etwas wie O(nlog(n))
ist, ich denke? Oder die log(n)
sollte log(n)
base 3 sein? Jemand sagte, die Zeitkomplexität sei O (n), was für mich völlig inakzeptabel ist.
j = n
while j >= 1 {
for i = 1 to j {
x += 1
}
j /= 3
}
Einfach die geometrische Reihe addieren. –
@AbhishekBansal Genau so 'n + n/3 + n/9 + ... '? Aber das ist nicht O (n). –