Professional Documents
Culture Documents
Kreiranje Sort Niza Od Hipa
Kreiranje Sort Niza Od Hipa
Posle formiranja hipa potrebno je sortirati niz. Iz hipa izdvajamo i uklanjamo najvedi element koji postavljamo
na odgovarajude mesto u sortiranom nizu, Taj postupak ponavljamo dok ne uklonimo sve elemente iz hipa.
Elemente u sortiranom nizu postavljamo počev od najvedeg (na poslednjoj poziciji niza, n-1) do najmanjeg (na
prvoj poziciji u nizu, 0). Kada određujemo i-ti element sortiranog niza, u delu niza do pozicije i registrovan je
hip, a elementi od pozicije i+1 do kraja niza predstavljaju sortirani deo niza.
Ilustrujmo kako se na osnovu hipa kreira sortiran niz. Hip i sortirani niz se čuvaju u polaznom nizu. Da bismo ih
razlikovali, sivom bojom su osenčeni elementi sortiranog niza, a elementi hipa nisu osenčeni.
Izdvajamo i uklanjamo najvedi element iz hipa i upisujemo ga na odgovarajude mesto u nizu. Na poslednje
mesto u sortiranom nizu upisujemo 10, a element 2 upišemo u koren. Sada je potrebno uraditi korekciju, jer
element 2 ima potomke 7 i 3, pa ga razmenjujemo sa vedim od njih, sa elementom 7. Nastavljamo sa
korekcijom hipa jer element 2 sada ima jednog potomka čija je vrednost 4, što je vede od 2, pa se njihove
vrednosti razmenjuju. U dobijenom stablu element 2 nema nijednog potomka, tako da je korekcija završena i
dobijeno drvo (neosenčeni elementi) jeste hip.
Prilikom izdvajanja tredeg po veličini elementa sortiranog niza, elementa 4, korekciju hipa nije potrebno
raditi, jer je element 3 vedi od njegovog potomka 2.
Izdvajamo preostala dva elementa sortiranog niza i tako dobijamo sortiran niz.
Kreiranje sortiranog niza od hipa je realizovano metodom izHipaUSort, a metodom hipSort realizovano je
sortiranje niza korišdenjem hipa.