Einfügesortierung in JavaScript

 Einfügesortierung in Java

 einfügesortierung in Java

Einführung in die Einfügesortierung in JavaScript

Das Sortieren ist eines der wichtigen Konzepte, die Programmierer lernen, um ihre Reise in die Informatik zu beginnen, unabhängig von der zum Lernen ausgewählten Programmiersprache. Die Sortierung hilft uns, die Zieldaten, nach denen wir suchen möchten, schneller und bequemer zu finden, indem wir sie in aufsteigender oder absteigender Reihenfolge sortieren.

Sortieralgorithmen werden verwendet, um Elemente neu anzuordnen, wobei ein Element eine Zahl oder ein String sein kann. Es gibt viele Arten von Sortieralgorithmen, die auf ihrer Sortiermethode und dem Ansatz zum Sortieren der Elemente basieren, und jeder Typ hat seine Vor- und Nachteile.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests & andere

In diesem Blog konzentrieren wir uns auf die Einfügesortierung, eine gängige Sortierung, die leicht zu verstehen und zu implementieren ist.

Was ist Einfügesortierung in JavaScript?

Einfügesortierung ist ein einfacher, leicht verständlicher Algorithmus, der am besten mit einer kleinen Datenliste funktioniert, indem jedes Element in der Datenliste einzeln von links nach rechts sortiert wird. Es wird auch als Vergleichssortierung bezeichnet, bei der der aktuelle Wert mit den anderen Werten in derselben Datenliste verglichen wird, die sortiert wird. Es folgt einem iterativen Ansatz, um jedes Element in der richtigen Reihenfolge in der Datenliste zu platzieren.

Je mehr Zeit ein Algorithmus zum Sortieren benötigt, desto schlechter ist seine Leistung, und Sie müssen einen anderen Algorithmus in Betracht ziehen, um die Daten zu sortieren. Die Einfügesortierung hat eine Zeitkomplexität von O (n2) oder führt eine quadratische Zeit aus, um die Datenliste im schlimmsten Fall zu sortieren. Dies ist normalerweise nicht sehr effektiv und sollte nicht für große Listen verwendet werden. Es übertrifft jedoch normalerweise fortgeschrittene Algorithmen wie Quicksort oder Mergesort auf kleineren Listen.

Einfügesortierung, die meiste Zeit ist effizienter als andere quadratische Sortieralgorithmen wie Blasensortierung oder Auswahlsortierung. Im besten Fall ist die Zeit O (n) oder linear, was auftritt, wenn das Eingabearray bereits sortiert ist. Im Durchschnitt ist die Laufzeit der Einfügesortierung immer noch quadratisch.

Einfügesortierung in JavaScript

 Einfügesortierung in JavaScript

Im folgenden Beispiel haben wir einen einfachen High-Level-Ansatz zum Sortieren von Daten, die in einer Array-Datenstruktur gespeichert sind, und verwenden die Sortiermethode, um die Daten zu sortieren, ohne Algorithmen zu implementieren.

Beispiel – Einfügesortieralgorithmus

Code:

<!DOCTYPE html>
<html>
<body>
</body>
<script>
// Declaring unsorted data and storing it in array data structure
var dataArray = // Function - Insertion Sort Algo.
function insertSort(unsortedData) {
for (let i = 1; i < unsortedData.length; i++) {
let current = unsortedData;
let j;
for(j=i-1; j >= 0 && unsortedData > current;j--) {
unsortedData = unsortedData}
unsortedData = current;
}
return unsortedData;
}
// print sorted array
console.log(insertSort(dataArray));
</script>
</html>

Ausgang:

 Einfügesortierung in JavaScript-1.1

Erläuterung: Im Algorithmus haben wir 2 for-Schleifen implementiert, die äußere for-Schleife soll über die Array-Elemente iterieren und die innere for-Schleife wird verwendet, um die Array-Elemente in aufsteigender Reihenfolge ihres Werts zu sortieren. Die aktuelle Variable enthält den aktuellen Wert des Arrays und die Variable j wird auf einen Wert kleiner als die aktuelle Indexposition des Arrays gesetzt. Wir prüfen, ob das aktuelle Element (current) kleiner als der Array-Wert an der j-ten Position (unsortedData) ist, und wenn es wahr ist, sortieren wir diese Werte.

Iteration 1 – aktuell (96) :

Iteration 2 – aktuell (5) :

Iteration 3 – Strom (42) :

Iteration 4 – Strom (1) :

Iteration 5 – Strom (6) :

Iteration 6 – Strom (37) :

Iteration 7 – Strom (21) :

Die äußere for-Schleifeniteration beginnt an der 1. Indexposition, da wir das kleinste Element auf die linke Seite verschieben möchten, um zu vergleichen, ob das aktuelle Element kleiner ist als die Elemente auf der linken Seite.

Arten der Sortierung

Die Arten von Algorithmen, die zum Sortieren von Daten verwendet werden, umfassen die folgenden Konzepte oder Ideen in ihrem Ansatz zum Sortieren der Daten:

  • Vergleich versus Nicht-vergleichsbasierte Strategien,
  • Iterative versus rekursive Implementierung,
  • Divide-and-Conquer-Paradigma (dies oder das),
  • Randomisierungsansatz.

Betrachten wir einige Beispiele:

1. Merge sort verwendet einen Divide-and-Conquer-Ansatz zum Sortieren von Elementen in einem Array.

2. Einfügesortierung, Blasensortierung ist eine vergleichsbasierte Sortierung.

Typen

 typen

Wenn Daten sortiert werden, wird es einfacher, eine optimale Lösung für komplexe Probleme zu finden. zum Beispiel,

  • Suchen nach einem bestimmten Wert,
  • Finden des Minimal- oder Maximalwerts,
  • Testen auf Eindeutigkeit und Löschen von Duplikaten,
  • Zählen, wie oft ein bestimmter Wert aufgetreten ist usw.

Fazit

In diesem Artikel haben wir die Definition der Einfügesortierung und ihrer Zeitkomplexität sowie verschiedene andere Sortieralgorithmus-Typen basierend auf ihrem Ansatz beschrieben. Das Studium verschiedener Sortieralgorithmen hilft uns zu identifizieren, welcher unter bestimmten Umständen besser geeignet ist oder Anwendungsfälle, die uns helfen, die Daten schneller zu sortieren.

Empfohlene Artikel

Dies ist eine Anleitung zur Einfügesortierung in JavaScript. Hier besprechen wir anhand eines Beispiels, was Einfügesortierung in Javascript und seine Typen sind. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren –

  1. Muster in JavaScript
  2. Case-Anweisung in JavaScript
  3. Bedingte Anweisungen in JavaScript
  4. JavaScript-Objekte
  5. Einfügesortierung in C ++ / Wie implementiere ich?
0 Anteile

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.