Professional Documents
Culture Documents
Priorit Eiles
Priorit Eiles
Reikėtų atkreipti dėmesį į tai, kad operacija Remove išima ne elementą su didžiausia
reikšme, o elementą, kurio prioritetas didžiausias. Jeigu elementų su tuo pačiu prioritetu yra
daugiau nei vienas, tai išimamas elementas pagal eilės principą, t. y. tas elementas, kuris
buvo seniausiai įdėtas.
5 12 23 31 38 .............. 56 68 85 93
Realizacijoje masyvu sunkumai gali kilti su įterpimo operacija Insert. Tam, kad įterpti
elementą reikėtų rasti teisingą poziciją – elementas turi būti įterptas pagal savo prioritetą o
tarp turinčių tokį prioritetą kaip pirmasis – o po to perstumti visus elementus, kad atsirastų
vietos naujam elementui.
2. Tiesinis sąrašas.
Iš kitos pusės, realizacijoje tiesiniu sąrašu dažniausiai elementai išdėstomi prioritetų
mažėjimo tvarka, t.y. elementas su didžiausia prioriteto reikšme yra sąrašo pradžioje.
93 93 68 7 5
...
PQ
Tokiu būdu, operacija Remove paprasčiausiai grąžina reikšmę, į kurią rodo rodyklė PQ, o po
elemento išmetimo rodyklė turi rodyti į sekantį elementą. Tuo tarpu, operacija Insert turi eiti
Paruošė Vitalijus Šumakovas
sąrašu tol, kol ras elementui tinkamą vietą – naujas elementas turi būti įterptas prieš pirmą
elementą, turintį mažesnį prioritetą už naują elementą.
7 10 (Didžiausias prioritetas)
8
5
2 6
Tokios realizacijos ypatumas yra tame, kad elementas su didžiausia prioriteto reikšme bus
pačioje dešinėje viršūnėje. Tokiu būdu, reikia sekti dešiniuosius vaikus, kol atsiras viršūnė be
dešiniojo vaiko. Be to, šios viršūnės išėmimas gana lengvas, nes dažniausiai viršūnė turi tik
vieną vaiką.