A Halda je kompletní binární stromová datová struktura, která splňuje vlastnost haldy: pro každý uzel je hodnota jeho potomků menší nebo rovna jeho vlastní hodnotě. Hromady se obvykle používají k implementaci prioritních front, kde nejmenší (nebo největší) prvek je vždy v kořenu stromu.
srovnání java

Struktura dat haldy
Obsah
- Typy hald
- Haldové operace
- Co je struktura dat haldy?
A halda je binární stromová datová struktura, která splňuje vlastnost haldy: hodnota každého uzlu je větší nebo rovna hodnotě jeho potomků. Tato vlastnost zajišťuje, že kořenový uzel obsahuje maximum nebo minimální hodnotu (v závislosti na typu haldy) a hodnoty se snižují nebo zvyšují, jak se pohybujete ve stromu.
Typy hald
Existují dva hlavní typy hald:
- Maximální halda: Kořenový uzel obsahuje maximální hodnotu a hodnoty se snižují, jak se pohybujete ve stromu dolů.
- Min. halda: Kořenový uzel obsahuje minimální hodnotu a hodnoty se zvyšují, jak se pohybujete ve stromu dolů.
Haldové operace
Běžné operace haldy jsou:
oříznutí řetězce javascript
- Vložit : Přidá nový prvek do haldy při zachování vlastnosti haldy.
- Extrahovat Max/Min: Odebere maximální nebo minimální prvek z haldy a vrátí jej.
- Heapify : Převede libovolný binární strom na haldu.
Hromady se běžně používají k implementaci prioritních front, kde jsou prvky načítány na základě jejich priority (maximální nebo minimální hodnota).
- Heapsort je třídicí algoritmus, který používá haldu k řazení pole ve vzestupném nebo sestupném pořadí.
- Haldy se používají v grafových algoritmech jako Dijkstrův algoritmus a Primův algoritmus pro nalezení nejkratších cest a minimálního počtu stromů.
Binární halda Aplikace, výhody a nevýhody haldy Časová náročnost stavby haldy
Fibonacciho halda
Řazení haldy
Vytiskněte všechny uzly menší než hodnota x v minimální haldě.
Sloučit k seřazených polí | Sada 1
Rychlé odkazy:
python __name__
- Cvičné problémy na haldě
- Doporučeno:
- Naučte se datovou strukturu a algoritmy | Výukový program DSA