logo

Unterschied zwischen Min Heap und Max Heap

A Haufen ist etwas Besonderes vollständiger Binärbaum . Da ein Heap ein vollständiger Binärbaum ist, ist ein Heap mit N Knoten hat log N Höhe. Es ist sinnvoll, das Element mit der höchsten oder niedrigsten Priorität zu entfernen. Es wird normalerweise als dargestellt Array . Es gibt zwei Arten von HeapsMin-Heap

In einem Min-Heap Der am Wurzelknoten vorhandene Schlüssel muss kleiner oder gleich den Schlüsseln aller seiner untergeordneten Knoten sein. Die gleiche Eigenschaft muss rekursiv für alle Unterbäume in diesem Binärbaum gelten. In einem Min-Heap das minimale Schlüsselelement, das im Stammverzeichnis vorhanden ist. Unten ist der Binärbaum, der alle Eigenschaften von Min Heap erfüllt.



Max Heap

In einem Max-Heap Der am Wurzelknoten vorhandene Schlüssel muss größer oder gleich den Schlüsseln aller seiner untergeordneten Knoten sein. Die gleiche Eigenschaft muss sein rekursiv WAHR für alle Unterbäume in diesem Binärbaum. In einem Max-Heap das maximale Schlüsselelement, das im Stammverzeichnis vorhanden ist. Unten ist der Binärbaum, der alle Eigenschaften von Max Heap erfüllt.



Unterschied zwischen Min Heap und Max Heap

Min. Heap Max Heap
1. In einem Min-Heap muss der am Wurzelknoten vorhandene Schlüssel kleiner oder gleich den Schlüsseln aller seiner untergeordneten Knoten sein. In einem Max-Heap muss der am Wurzelknoten vorhandene Schlüssel größer oder gleich den Schlüsseln aller seiner untergeordneten Knoten sein.
2. In einem Min-Heap das minimale Schlüsselelement, das im Stammverzeichnis vorhanden ist. In einem Max-Heap das maximale Schlüsselelement, das im Stammverzeichnis vorhanden ist.
3. Ein Min-Heap verwendet die aufsteigende Priorität. Ein Max-Heap verwendet die absteigende Priorität.
4. Beim Aufbau eines Min-Heaps hat das kleinste Element Vorrang. Beim Aufbau eines Max-Heaps hat das größte Element Vorrang.
5. In einem Min-Heap wird das kleinste Element als erstes aus dem Heap entfernt. In einem Max-Heap wird das größte Element als erstes aus dem Heap entfernt.

Anwendungen von Heaps :

  1. Heap-Sortierung : Heap Sort ist einer der besten Sortieralgorithmen, die verwendet werden Binärer Heap Zu Sortieren Sie ein Array In O(N*log N) Zeit.
  2. Prioritätswarteschlange : Eine Prioritätswarteschlange kann mithilfe eines Heaps implementiert werden, da dieser unterstützt wird einfügen() , löschen() , extractMax() , verringernKey() Operationen in O(log N) Zeit.
  3. Dijkstras kürzester Weg Und Prims Minimum Spanning Tree .

Leistungsanalyse von Min-Heap und Max-Heap :

  • Maximales oder minimales Element abrufen: O(1)
  • Element in Max-Heap oder Min-Heap einfügen: O(log N)
  • Maximales oder minimales Element entfernen: O(log N)