ad 1) postavis haldu - N, odebrani vrcholu - okamzite, reorganizace haldy - logN, tedy neni to M*N ale N + MlogN
ad 2) quicksort v kazde fazi rozdeli pole na dve casti - menis nez pivot a vetsi nez pivot, kdyz vetsich nez pivotu bude alespon 20, nemusis se vbec zabyvat tou druhou skupinou
ad 3) N*M neni dobra slozitost, linearne jde najit i prostredni prvek, myslim ze by slo ten algoritmus upravit tak, aby nehledal prostredni, ale K-ty (tedy 20), vsech top 20 pak dostanes rovnou v prubehu algoritmu |