04.4 Sestavení haldy
$$
\require{mathtools}
\DeclarePairedDelimiter\ceil{\lceil}{\rceil}
\DeclarePairedDelimiter\floor{\lfloor}{\rfloor}
\newcommand{\dv}[1]{\frac{\mathrm{d}}{\mathrm{d} #1}}
\newcommand{\dvv}[2]{\frac{\mathrm{d} #1}{\mathrm{d} #2}}
$$
# HeapBuild()
- Lze dokola volat [ ))))) (složitost $O(n \log n$), ale jde to i rychleji
- Hodnoty random naházím do stromu (každý list je korektní halda)
- Jdu od konce (zprava doleva, zespoda nahoru) a pro každý vnitřní vrchol zavolám BubbleDown()
- Opakovat krok 2
- Složitost: $O(n)$