Das Beispiel dieses Artikels zeigt die Sortiermethode der Java -Einfügung. Teilen Sie es für alle für Ihre Referenz. Die spezifische Analyse ist wie folgt:
Es gibt eine vorhandene Datensequenz, die eine Zahl in dieser bereits geführten Datensequenz erfordert, aber diese Datensequenz ist nach dem Einfügen noch ordnungsgemäß. In diesem Artikel wird hauptsächlich die Java -Implementierung sortiert.
Der grundlegende Betrieb beim Einfügen von Sortierungen besteht darin, eine Daten in eine ordnungsgemäße Daten einzufügen, die angeordnet wurden, um eine neue Anzahl von Reihenfolge plus Reihenfolge zu erhalten. Die Vergleichs- und Austauschzeitkomplexität ist O (n^2). Der Algorithmus ist für die Situation geeignet, in der die Daten im Grunde genommen ordentlich oder die Datenmenge gering sind.
Der Einfügungsalgorithmus unterteilt die Anzahl, die in zwei Teile sortiert werden soll: Der erste Teil enthält alle Elemente dieses Arrays, mit Ausnahme des letzten Elements, und der zweite Teil enthält nur dieses Element. Nachdem der erste Teil sortiert ist, fügen Sie dieses letzte Element in diesem Moment in die Position des ersten Teils ein.
Algorithmus Beschreibung
Im Allgemeinen wird die Einfügungssortierung auf dem Array mit In-Place implementiert. Die spezifische Beschreibung der Algorithmus lautet wie folgt:
1. Aus dem ersten Element kann dieses Element als sortiert betrachtet werden
2. Nehmen Sie das nächste Element heraus und scannen Sie sie aus der sortierten Elementsequenz von hinten aus
3. Wenn dieses Element (sortiert) größer ist als das neue Element, wird das Element in die nächste Position verschoben
4. Wiederholen Sie Schritt 3, bis die Position des sortierten Elements geringer oder gleich der Position des neuen Elements ist
5. NEUE Elemente in die nächste Position einfügen
6. Wiederholen Sie Schritt 2
Wenn die Kosten für den Vergleichsvorgang groß sind als der Betrieb, kann die zwei -Punkte -Suchmethode verwendet werden, um die Anzahl der vergleichenden Operationen zu verringern. Dieser Algorithmus kann als eine Variante des Einfügens von Sortieren angesehen werden, die als Dual -Punkte -Sortierung bezeichnet wird.
Code -Implementierung
public void Insertionsort] in = out; {a [in] = A [IN-1]; } system.out.println ("" Kopie Anzahl der Replikatzeiten für: " + count1 +" Vergleichszeiten sind: " + count2);}Das Einfügen der Sortiermethode ist bei einer bestimmten Reihenfolge besser. Wenn die Daten jedoch unregelmäßig sind, ist es erforderlich, eine große Datenmenge zu bewegen, und ihre Effizienz ist so schlecht wie die sprudelnde Sortiermethode und die Auswahlsortierungsmethode.
Es ist zu hoffen, dass dieser Artikel für Java -Programmdesign aller hilfreich ist.