Insertion -Sortierung in JavaScript

Insertion -Sortierung in JavaScript
Die Insertion -Sortierung ist ein einfacher und stabiler Sortieralgorithmus, der ein Element aus einer unsortierten Liste auswählt und ihn an der entsprechenden Position in die sortierte Liste einfügt. Während sich der Begriff stabiler Algorithmus auf das Szenario bezieht, in dem zwei äquivalente Elemente identisch erscheinen, hält ein stabiler Algorithmus die Elemente an ihren relativ.

Insertions -Sortieralgorithmus ist in den Fällen, in denen wir eine geringere Anzahl von Elementen in einer Liste haben oder in denen der größte Teil der Liste bereits sortiert ist und weniger Elemente fehl am Platz sind.

Wie die Sortierung der Einfügung funktioniert

Betrachten wir ein Beispiel, um die Logik hinter der Einfügungssorte besser zu verstehen. Angenommen, wir haben eine unsortierte Reihe von 6 Elementen und müssen sie mit der Insertion -Sortierung sortieren:

Um das obige Array zu sortieren, werden wir das Array vom Index 1 zum letzten Index iterieren. Zunächst gehen wir davon aus. Wenn das aktuelle Element geringer ist als das vorherige Element, werden wir ihre Positionen austauschen.

Erster Schritt
Im ersten Schritt vergleichen wir Index 1 mit Index 0, dem Wert des ersten Index '47' ist größer als den 0. Indexwert, sodass es im ersten Schritt keine Änderung gibt (Elemente würden nicht tauschen):

Zweiter Schritt
Jetzt, im zweiten Schritt, gehen wir davon aus, dass die ersten beiden Elemente sortiert sind, sodass Cursor bei Index 2 sein wird, und wir werden Index 2 mit seinen vorherigen Elementen vergleichen:

Da '25' kleiner als '47' ist, tauschen Sie '25' und '47'. Als nächstes wird '25' auch mit dem 0. Indexwert verglichen. '25' ist größer als '15', also würde es nicht getauscht werden.

Das Array nach dem zweiten Schritt wird aktualisiert als:

Dritter Schritt
Hier im dritten Schritt sind wir der Ansicht, dass die ersten drei Werte sortiert werden und der Cursor im dritten Index befindet. Wir werden also den dritten Index mit seinen vorherigen Werten vergleichen:

Bei Index 3 wird '55' mit jedem Element eins nach dem anderen verglichen, aber es ist größer als alle früheren Elemente, sodass sich die Position der Array -Elemente nicht ändern wird.

Vierter Schritt
Jetzt sind wir bei Index 4, wo wir einen Wert '20' haben und ihn mit allen früheren Elementen des Arrays vergleichen müssen:

Da '20' weniger als '25', '47' und '55' ist (I+1 Index) aus ihren aktuellen Indizes.

Das aktualisierte Array wird sein:

Fünfter Schritt
Jetzt befinden wir uns am Index 5, wobei der aktuelle Wert '10' ist, was unter allen Array -Werten der kleinste ist. Daher wird er im 0. Index eingefügt.

Auf diese Weise wird das gesamte Array mithilfe der Einfügungssorte sortiert:

Wie wir mit dem konzeptionellen Teil der Insertions -Sortierung fertig sind, werden wir dieses Konzept jetzt in JavaScript umsetzen.

Implementierung der Einfügungssorten in JavaScript

Der Code zur Implementierung der Insertionssortierung in JavaScript ist wie folgt:

Funktion Insertion_Sort (input_array, array_length)

lass mich, pivot_value, j;
für (i = 1; i = 0 && input_array [j]> pivot_value)

input_array [j + 1] = input_array [j];
J = J - 1;

input_array [j + 1] = pivot_value;

return input_array;

lass input_array = [15,47,25,55,20,10];
Lassen Sie Array_Length = input_array.Länge;
Insertion_Sort (input_array, array_length);
Konsole.log ("Finale sortierte Array:", input_array);

Im obigen Code haben wir eine Funktion erstellt “Sortieren durch EinfügenUnd bestanden es durch die Eingangsarray und die Arraylänge. Dann haben wir die Schleife bis zur Länge des Arrays iteriert.

In der Schleife haben wir die 'ausgewählt' ausgewählt 'pivot_value = input_array [i]'als Drehwert, um einen Vergleich des aktuellen Elements mit seinen vorherigen Elementen zu vergleichJ = I-1Das ist das letzte Element unseres sortierten Arrays.

Hier in jeder Iteration wird das aktuelle Element dem Pivot -Wert zugeordnet und der Drehwert wird in jedem Schritt als erstes Element des unsortierten Arrays betrachtet.

Wir verwenden eine Weile Schleife, um Array -Elemente zu sortieren. Hier in dieser Schleife vergleichen wir das aktuelle Element mit seinen vorherigen Elementen. Wenn das aktuelle Element geringer ist als eines der früheren Elemente, und wir fanden die geeignete Position, um dieses Element in das sortierte Array einzufügen. Und das ganze Phänomen wird für jeden Schritt wiederholt, bis das Array vollständig sortiert ist.

Ausgang

Schließlich nennen wir das "Sortieren durch EinfügenFunktion und drucken Sie das sortierte Array an der Konsole des Browsers mit der “Konsole.Protokoll" Methode. Die Ausgabe des Insertions -Sortieralgorithmus ist:

Abschluss

Insertion -Sortierung ist ein Sortieralgorithmus, der jeweils ein Element sortiert. Es fügt das Element an der entsprechenden Position eins nach dem anderen ein, um ein sortiertes Array zu erstellen. Es liefert effiziente Ergebnisse, wenn die Anzahl der Array -Elemente klein ist und die meisten Array -Elemente bereits sortiert sind.

In diesem Artikel haben wir ein Beispiel für die Ermittlung der Logik der Insertions -Sortierung in Betracht gezogen. Wir haben die Arbeit des Insertions -Sortieralgorithmus in Bezug auf jeden Schritt erörtert und das aktualisierte Array nach jedem Schritt präsentiert. Und schließlich, als wir die Idee hinter der Insertion -Sortierung wahrgenommen haben, haben wir sie in JavaScript implementiert.