logo

Rozdíl mezi minimální haldou a maximální haldou

A Halda je speciál kompletní binární strom . Protože halda je úplný binární strom, halda s N uzly má log N výška. Je užitečné odstranit prvek s nejvyšší nebo nejnižší prioritou. Obvykle je reprezentován jako an pole . Existují dva typy haldMin-Hromad

jádro poruchy segmentace vyhozeno

V Min-Hromad klíč přítomný v kořenovém uzlu musí být menší nebo stejný mezi klíči přítomnými u všech jeho potomků. Stejná vlastnost musí být rekurzivně pravdivá pro všechny podstromy v tomto binárním stromu. V Min-Heap minimální klíčový prvek přítomný v kořenu. Níže je Binární strom, který splňuje všechny vlastnosti Min Heap.



Max Heap

V Max-Hroma klíč přítomný v kořenovém uzlu musí být větší nebo stejný mezi klíči přítomnými u všech jeho potomků. Stejná vlastnost musí být rekurzivně skutečný pro všechny podstromy v tomto binárním stromu. V Max-Heap maximální klíčový prvek přítomný v kořenovém adresáři. Níže je binární strom, který splňuje všechny vlastnosti Max Heap.

Rozdíl mezi minimální haldou a maximální haldou

Min. halda Max Heap
1. V Min-Heap musí být klíč přítomný v kořenovém uzlu menší nebo roven mezi klíči přítomnými u všech jeho potomků. V Max-Heap musí být klíč přítomný v kořenovém uzlu větší nebo roven mezi klíči přítomnými u všech jeho potomků.
2. V Min-Heap minimální klíčový prvek přítomný v kořenu. V Max-Heap maximální klíčový prvek přítomný v kořenovém adresáři.
3. Min-Heap používá vzestupnou prioritu. Max-Heap používá sestupnou prioritu.
4. Při konstrukci min-hromady má přednost nejmenší prvek. Při konstrukci Max-Heap má největší prvek přednost.
5. V Min-Heap je nejmenší prvek první, který je vytažen z hromady. V Max-Heap je největší prvek první, který je vytažen z hromady.

Aplikace hald :

  1. Řazení haldy : Heap Sort je jedním z nejlepších třídicích algoritmů, které se používají Binární halda na seřadit pole v O(N*log N) čas.
  2. Prioritní fronta : Prioritní frontu lze implementovat pomocí haldy, protože podporuje vložit() , vymazat() , extraktMax() , snížitKey() operace v O(log N) čas.
  3. Dijkstrova nejkratší cesta a Primův minimální kostra .

Analýza výkonnosti Min-Heap a Max-Heap :

  • Získat maximální nebo minimální prvek: O(1)
  • Vložit prvek do maximální haldy nebo minimální haldy: O (log N)
  • Odebrat maximální nebo minimální prvek: O (log N)