Frage

Ich weiß, dass das Folgende ist: o (n ^ 2) ,

generasacodicetagpre.

Aber sollte etwas wie count = count + 1; berücksichtigt werden? Zur Vorhersage oder Erstellung einer komplexen Zeitgleichung oder Verwendung von Summe Notation

generasacodicetagpre.

War es hilfreich?

Lösung

Es ist bekannt als bekannte Task "Überprüfen auf Duplikate" und Sie können es beispielsweise in Tim Rauhgarten - Algorithmen beleuchtet_ Teil 1_ der Grundlagen- (2017) 42-Seite gefunden. Lassen Sie mich sagen, dass wie hier in Buch den letzten Index "i" als $ n= $ "array.length ()" nicht sinnvoll, denn dann Index " J "läuft aus den Grenzen aus. Dies wirkt sich aber nicht auf unsere Zählung aus.

ist wie immer wichtig, um den Betrieb für die Zählung zu wählen - hier ist es "count= count + 1". Offensichtlich ist der beste Fall, d. H. Mindestens Höhe der Operationen, ist $ 0 $ . Und schlimmer Fall, dh maximaler Menge an Operationen, ist Summe (ich korrigiere ihn entsprechend den Index "I" -An- $ n-1 $ ) von Ihnen $ t (n)= 1 + 2 + \ CDS + (N-1)=frac {n (n-1)} {2} $ (wir berücksichtigen den Fall $ n \ geqslant 2 $ ).

jetzt, weil $ \ frac {n (n-1)} {2 \ cdo \ leqslant \ frac {n \ cdot 2n} {2}= n ^ 2 $ , es ist leicht zu schließen, dass schlechtere Fall $ t (n) \ in o (n ^ 2) $ .

Andere Tipps

Die Zeitkomplexität eines Algorithmus hängt von dem Berechnungsmodell ab.Algorithmen werden in der Regel in der RAM-Maschine analysiert, in denen grundlegende Vorgänge auf Maschinenwörtern (z. B. Zuweisung, Arithmetik- und Vergleich) Kosten $ O (1) $ .Ein Maschinenwort hat Länge $ O (\ \ log n) $ , wobei $ n $ die Größe von istder Eingang.

In Ihrem Fall ist die Größe der Eingabe mindestens $ n $ (definiert als die Länge des generationspflichten), und so passt der generationspflichtigeWort.Jeder der grundlegenden Vorgänge in den Algorithmuskosten $ O (1) $ , und so ist die Gesamtkomplexität der Gesamtzeit $ \ theta(n ^ 2) $ , da der Algorithmus diese vielen grundlegenden Operationen ausführt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit cs.stackexchange
scroll top