2017-04-01 3 views
1

Angenommen, Modul X benötigt p Zeiteinheiten zur Ausführung, wobei p eine Konstante ist. Finden Sie die Komplexität jedes der folgenden Algorithmen, wobei n die Größe der Eingabedaten und q eine positive ganze Zahl größer als 1 ist. Wie groß ist die zeitliche Komplexität?Big-O für While-Schleifen mit Benutzereingabe

set i = 1 
    `while i ≤ n` 
     `Module X` 
     `i = q * i` 
    endwhile 

Antwort

1

log(n), wo die Basis der logarithmischen Funktion q ist.

Hinweis: i steigt exponentiell an.

+0

können Sie bitte etwas erklären? Ich bin wirklich verwirrt –

+0

Angenommen 'q = 2'. Dann wächst in jeder Iteration "i" wie folgt: 1, 2, 4, 8, 16, 32, 64 .... Wie viele Iterationen bis "i" wird dann zu "n"? Es ist 'log (n)' mit Base 2. Wir tauschen nur 2 mit 'q' aus. – wookie919

+1

Das ist eine gute Erklärung. Jetzt verstehe ich –