Sprache:

Suche

8 gängige Sortieralgorithmen mit Python

  • Teilen:
8 gängige Sortieralgorithmen mit Python

Bubble Sort

Bubble Sort ist der einfachste Sortieralgorithmus, der durch wiederholtes Vertauschen der benachbarten Elemente funktioniert, wenn sie in falscher Reihenfolge sind. Der folgende Codeschnipsel zeigt die einfache Implementierung des Sortieralgorithmus Bubble Sorting in Python.

Selection Sort

Die selection sort algorithm sortiert ein Array, indem es wiederholt das kleinste Element (in aufsteigender Reihenfolge) aus dem unsortierten Teil heraussucht und an den Anfang setzt. Der Algorithmus verwaltet zwei Subarrays in einem gegebenen Array. Das folgende Snippet zeigt den Anwendungsfall des Auswahlsortieralgorithmus in Python.

Insertion Sort

Insertion sort ist ein einfacher Sortieralgorithmus, der ähnlich funktioniert wie das Sortieren von Spielkarten auf der Hand. Das Feld wird praktisch in einen sortierten und einen unsortierten Teil aufgeteilt. Die Werte aus dem unsortierten Teil werden ausgewählt und an der richtigen Stelle im sortierten Teil platziert. Das folgende Snippet zeigt, wie der Algorithmus in Python funktioniert.

Shell Sort

Shell sort ist eine verallgemeinerte Version des Einfügungssortieralgorithmus. Er sortiert zunächst Elemente, die weit voneinander entfernt sind, und verringert dann sukzessive den Abstand zwischen den zu sortierenden Elementen. Der Abstand zwischen den Elementen wird auf der Grundlage der verwendeten Reihenfolge verringert, wie im folgenden Ausschnitt gezeigt.

Heap Sort

Heap sort ist ein vergleichsbasiertes Sortierverfahren, das auf der Datenstruktur Binary Heap basiert. Sie ähnelt der Auswahlsortierung, bei der wir zunächst das kleinste Element finden und dieses an den Anfang setzen. Wir wiederholen den gleichen Vorgang für die übrigen Elemente.

Quick Sort

QuickSort ist ein Divide-and-Conquer-Algorithmus. Er wählt ein Element als Drehpunkt aus und partitioniert das gegebene Array um den ausgewählten Drehpunkt. Es gibt viele verschiedene Versionen von quickSort, die den Drehpunkt auf unterschiedliche Weise auswählen.

  1. Immer das erste Element als Pivot auswählen.
  2. Immer das letzte Element als Drehpunkt wählen (unten implementiert)
  3. Wähle ein zufälliges Element als Pivot.
  4. Median als Pivot wählen.

Der Schlüsselprozess in quickSort ist partition(). Ziel der Partitionierung ist es, bei einem Array und einem Element x des Arrays als Pivot, x an die richtige Position im sortierten Array zu setzen und alle kleineren Elemente (kleiner als x) vor x und alle größeren Elemente (größer als x) nach x zu setzen. All dies sollte in linearer Zeit geschehen.

Lesen Sie auch: Programmierung Jobs in England

Counting Sort

Counting Sort ist eine Sortierungstechnik, die auf Schlüsseln zwischen einem bestimmten Bereich basiert. Dabei wird die Anzahl der Objekte mit unterschiedlichen Schlüsselwerten gezählt (eine Art Hashing). Anschließend wird die Position jedes Objekts in der Ausgabereihenfolge arithmetisch berechnet.

Merge Sort

Merge Sort ist ein Divide-and-Conquer-Algorithmus. Er teilt das Eingabefeld in zwei Hälften, ruft sich selbst für die beiden Hälften auf und führt dann die beiden sortierten Hälften zusammen. Die Funktion merge() wird zum Zusammenführen von zwei Hälften verwendet. Die Funktion merge(arr, l, m, r) ist ein Schlüsselprozess, der davon ausgeht, dass arr[l..m] und arr[m+1..r] sortiert sind, und die beiden sortierten Teil-Arrays zu einem zusammenführt.

TWT Staff

TWT Staff

Writes about Programming, tech news, discuss programming topics for web developers (and Web designers), and talks about SEO tools and techniques