Einführung in die Heap-Sortierung in Python

Jede der Programmiersprachen bietet aufgrund vordefinierter Funktionen verschiedene Funktionen. Durch die Nutzung der vordefinierten Methoden und Funktionen der Programmiersprache kann eine komplexe Anwendung entwickelt werden. Wenn wir über das Umwandeln der Werte der Liste in die sortierte Form sprechen, wird der Ansatz als Sortieren bezeichnet. Obwohl die Ausgabe der Sortierung unabhängig vom Sortierungsansatz gleich ist, stellt der beste Ansatz die Effizienz der Datensortierung sicher. Wenn es um das Sortieren mit der Programmiersprache Python geht, können wir mit der sort () -Methode den Wert einfach akzeptieren und in aufsteigender Reihenfolge sortieren. In diesem Artikel erfahren Sie, wie Sie die Daten des Arrays mithilfe der Heap-Sortierung in aufsteigender Reihenfolge sortieren und die Code-Implementierung von Heapsort mithilfe der Programmiersprache Python durchführen.

Wie funktioniert die Heap-Sortierung in Python?

  • Bevor Sie die Arbeitsweise von Python erläutern, ist es wichtig zu verstehen, was es tatsächlich ist und wie es sich von anderen Sortieralgorithmen unterscheidet. Heapsort kann als der Sortieransatz betrachtet werden, bei dem der Maximalwert aus der Liste ermittelt und auf den letzten Wert des Arrays verschoben wird und der Prozess so lange wiederholt wird, bis die Liste in eine sortierte Liste umgewandelt wird. Die Art und Weise, wie es sich von den anderen Sortiermethoden unterscheidet, ist nichts anderes als der Ansatz, den es verfolgt, um alle Werte des Arrays zu sortieren. Es besteht aus dem rekursiven Prozess, der so lange dauert, bis die Werte im Array in aufsteigender Reihenfolge angeordnet sind.
  • Lassen Sie uns nun anhand eines Beispiels verstehen, wie die Heap-Sortierung im Detail funktioniert. Angenommen, arr ist ein Array, das Werte wie 9, 5, 2 enthält. Zu Beginn sind die Werte des Arrays nicht sortiert angeordnet, sondern werden nach der Ausführung der Heap-Sortierung in aufsteigende Reihenfolge gebracht. Wenn der Heap-Sortieralgorithmus auf dieses Array angewendet wird, ermittelt er als erstes den größten Wert im Array. Da 9 der größte Wert ist, wird er zum letzten Index der Liste verschoben, und alle anderen Werte werden einen Schritt nach links verschoben, um Platz für den größten Wert zu schaffen. Sobald 9 zum letzten Index oder Arrayarray verschoben wurde, sieht die Liste der Werte wie folgt aus: 5, 2, 9.
  • Das Array ist jetzt immer noch nicht sortiert, was darauf hinweist, dass derselbe Vorgang erneut wiederholt werden muss. Während Sie nun den größten Wert aus der Liste der unverarbeiteten Werte finden, wird 5 als zweitgrößter Wert ausgewählt und zum vorletzten Index verschoben. Nachdem Sie 5 an der vorletzten Position verschoben haben, wird das Array in ein sortiertes Array umgewandelt und die Werte werden in aufsteigender Reihenfolge der Assembly wie 2, 5, 9 angeordnet. So funktioniert die Heap-Sortierung. Tatsächlich identifiziert es den Maximalwert, verschiebt ihn an das Ende des Arrays und führt den gleichen Vorgang weiter aus, bis das Array in das sortierte Array übergeht.

Beispiele für die Implementierung der Heap-Sortierung in Python

Lassen Sie uns das Konzept von Heapsort anhand des tatsächlichen Beispiels verstehen. Wir werden den Heap-Sortier-Algorithmus in der Python-Sprache implementieren. Um das Programm zu entwickeln, verwenden wir die for-Schleife, um den Rekursionsmechanismus zu bringen, und verwenden if-Bedingungen, um die Bedingungen zu überprüfen. Im folgenden Code ist perform_heapsort die Funktion, die drei Argumente akzeptiert: val_arr, num und count, wobei var_arr das Array ist, während num und count vom Datentyp Integer sind. Die Idee des folgenden Codes ist, die größte Zahl zu finden und sie vorübergehend in der Variablen max_val zu halten, bis sie an das Ende des Arrays verschoben wird. Wenn eine Anweisung verwendet wurde, um sicherzustellen, dass der größte Wert an die entsprechende Position verschoben wird und die Position nicht durch den nächstgrößeren Wert in der Liste aktualisiert werden kann. Das Programm wiederholt den Ansatz, den größten Wert zu finden und ihn bis zum Ende zu verschieben, bis die Liste den sortierten Wert erreicht.

Code:

def perform_heapsort(val_arr, num, count):
max_val = count
counter1 = 2 * count + 1
counter2 = 2 * count + 2
if counter1 < num and val_arr(count) < val_arr(counter1):
max_val = counter1
if counter2 < num and val_arr(max_val) < val_arr(counter2):
max_val = counter2
if max_val != count:
val_arr(count), val_arr(max_val) = val_arr(max_val), val_arr(count) perform_heapsort(val_arr, num, max_val)
def heapSort(val_arr):
num = len(val_arr)
for count in range(num, -1, -1):
perform_heapsort(val_arr, num, count)
for count in range(num-1, 0, -1):
val_arr(count), val_arr(0) = val_arr(0), val_arr(count) # swap
perform_heapsort(val_arr, count, 0)
val_arr = ( 52, 91, 64, 252, 36, 91, 5, 35, 28) heapSort(val_arr)
num = len(val_arr)
print ("Values after performing heapsort")
for count in range(num):
print ("%d" %val_arr(count)),

In diesem Programm wurden die Werte manuell über den Code zugewiesen. Var_arr ist das Array, das die Werte enthält. In diesem Beispiel haben wir dem Array 9 Werte zugewiesen. Die Werte im Array werden an die Methode perform_heapsort übergeben. Sobald die Werte in die Methode eingegeben wurden, wird sie verarbeitet und das Programm beginnt, den größten Wert aus der Liste zu finden. Der Maximalwert in diesem Array ist 252, daher wird er an das Ende des Arrays verschoben und dieser Vorgang wird auf alle Werte angewendet, bis das Array in das sortierte Array übergeht. Sobald das Array vom Programm sortiert wurde, wird die Ausgabe in der Ausgabe angezeigt.

Ausgabe:

Fazit

Heapsort ist einer der verschiedenen Sortieralgorithmen. Die letztendliche Ausgabe dieses Algorithmus ist die sortierte Liste, in der die Daten in aufsteigender Reihenfolge angeordnet sind. Da der Vorgang wiederholt wird und jedes Mal, wenn alle Werte nach links verschoben werden, um den Maximalwert der Liste am Ende des Arrays anzupassen, wird er als der weniger effiziente Sortieralgorithmus angesehen. Dieser Ansatz der Sortierung kann in der Anwendung genutzt werden, die eine kleine Anzahl von Werten verarbeiten soll.

Empfohlene Artikel

Dies ist eine Anleitung zur Heap-Sortierung in Python. Hier werden die Einführung in Heap Sort in Python, die Funktionsweise von Heap Sort in Python und die Beispiele für die Implementierung von Heap Sort in Python erläutert. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren.

  1. Was ist Informatik?
  2. Was ist maschinelles Lernen?
  3. Sicherheit von Webanwendungen
  4. Python-Funktionen
  5. Anleitung zum Sortieren von Algorithmen in Python