A Hromada je úplná binárna stromová dátová štruktúra, ktorá spĺňa vlastnosť haldy: pre každý uzol je hodnota jeho potomkov menšia alebo rovná jeho vlastnej hodnote. Hromady sa zvyčajne používajú na implementáciu prioritných frontov, kde najmenší (alebo najväčší) prvok je vždy v koreni stromu.

Štruktúra údajov haldy
Obsah
- Typy hromady
- Operácie haldy
- Čo je to štruktúra údajov haldy?
A hromada je binárna stromová dátová štruktúra, ktorá spĺňa vlastnosť haldy: hodnota každého uzla je väčšia alebo rovná hodnote jeho potomkov. Táto vlastnosť zabezpečuje, že koreňový uzol obsahuje maximálne alebo minimálne hodnotu (v závislosti od typu haldy) a hodnoty sa pri pohybe nadol v strome znižujú alebo zvyšujú.
Typy hromady
Existujú dva hlavné typy hromady:
- Maximálna halda: Koreňový uzol obsahuje maximálnu hodnotu a pri pohybe nadol v strome sa hodnoty znižujú.
- Minimálna halda: Koreňový uzol obsahuje minimálnu hodnotu a hodnoty sa zvyšujú, keď sa pohybujete v strome nadol.
Operácie haldy
Bežné operácie s haldou sú:
- Vložiť : Pridá nový prvok do haldy pri zachovaní vlastnosti haldy.
- Extrahovať Max/Min: Odstráni maximálny alebo minimálny prvok z haldy a vráti ho.
- Heapify : Konvertuje ľubovoľný binárny strom na hromadu.
Hromady sa bežne používajú na implementáciu prioritných frontov, kde sa prvky získavajú na základe ich priority (maximálna alebo minimálna hodnota).
- Heapsort je triediaci algoritmus, ktorý používa haldu na triedenie poľa vo vzostupnom alebo zostupnom poradí.
- Hromady sa používajú v grafových algoritmoch ako napr Dijkstrov algoritmus a Primov algoritmus na nájdenie najkratších ciest a minima stromov.
Binárna halda Aplikácie, výhody a nevýhody haldy Časová náročnosť výstavby haldy
Fibonacciho halda
Hromadné triedenie
Vytlačte všetky uzly menšie ako hodnota x v Min halde.
Zlúčiť k triedené polia | Set 1
Rýchle odkazy:
- Cvičné problémy na halde
- Odporúčané:
- Naučte sa dátovú štruktúru a algoritmy | Príručka DSA