Haldy rôznych degenerovaných tvarov nám príliš nepomôžu. Napr. je nanič halda, ktorá je tvorená jedným koreňom a $n−1$ listami. A takisto je nanič halda-had, v ktorej má každý vrchol najviac jedného syna.
V čom je problém?
Pozrime sa najskôr na prvú spomínanú haldu.
Keby sme v našom programe používali haldu, ktorá vyzerá takto, príliš by nám to nepomohlo.
Zjavne do takejto haldy vieme ľahko vkladať ďalšie prvky -- stačí pridať nový list a ak treba,
tak hodnotu v ňom vymeniť s hodnotou v koreni.
Avšak do problémov sa dostávame v okamihu, keď by sme chceli najmenší prvok z haldy vybrať.
Vtedy by sme totiž na to, aby sme zistili, ktorú hodnotu presunúť do koreňa,
museli prezrieť úplne všetky prvky v halde.
Vieme teda robiť push
v konštantnom čase, ale na pop
potrebujeme až lineárny čas.
(Takáto halda v podstate zodpovedá ukladaniu prvkov v neusporiadanom poli,
až na to, že aktuálne maximum máme akoby v samostatnej premennej.)
A o nič lepšie na tom nie je ani druhá spomínaná halda.
Vždy, keď vložíme nový prvok, ho pridáme ako nový list do najhlbšej úrovne
a následne hodnotou z neho bubleme dohora, až kým sa nezastaví.
V najhoršom možnom prípade
(ktorý nastane, ak budeme vkladať prvky v poradí od najmenšieho po najväčší)
teda každý prvok postupne prebuble hore celou reťazou až do koreňa.
Teda druhý vložený prvok bude bublať dohora $1$-krát, tretí $2$-krát, \dots,
a ak ich vložíme postupne $n$, tak posledný bude bublať dohora až $(n−1)$-krát.
Tu teda operácia push
môže trvať až lineárne dlho.
A niet divu: ľahko nahliadneme,
že takáto halda čítaná zhora dole je vlastne obyčajným usporiadaným poľom.