Effizienter Sortieralgorithmus für die Heap-Sortierung

Heap-Sortierung ist ein effizienter Sortieralgorithmus, der die Sortierung durch den Aufbau eines Max-Heaps oder eines Min-Heaps implementiert. Die Kernidee der Heap-Sortierung besteht darin, die zu sortierenden Daten in einem Heap zusammenzustellen und dann nacheinander die obersten Elemente des Heaps zu entfernen und sie in der sortierten Reihenfolge zu platzieren. Wiederholen Sie diesen Vorgang, bis alle Elemente im Heap entfernt wurden und eine geordnete Reihenfolge erhalten werden kann.

Der Vorteil der Heap-Sortierung besteht darin, dass sie eine bessere zeitliche und räumliche Komplexität aufweist. Seine zeitliche Komplexität beträgt O(nlogn), wobei n die Länge der zu sortierenden Sequenz ist. Die Heap-Sortierung erfordert keinen zusätzlichen Hilfsraum und erfordert lediglich ein Array zum Speichern der zu sortierenden Daten.

Das Folgende ist der spezifische Implementierungscode der Heap-Sortierung:

# 调整堆,使得以root为根的子树满足堆的性质
def heapify(arr, n, root):
    largest = root  # 初始化最大值为根节点
    left = 2 * root + 1</

Supongo que te gusta

Origin blog.csdn.net/ByteJolt/article/details/133478958
Recomendado
Clasificación