140 likes | 311 Views
KOPICA. 1.Seminarska naloga Špela Obid Sanja Narančić Alenka Abičič. Kopica. Kopica je urejena drevesna podatkovna struktura. Običajno gre za levo poravnano dvojiško drevo. Poznamo dve vrsti kopic:
E N D
KOPICA 1.Seminarska naloga Špela Obid Sanja Narančić Alenka Abičič
Kopica Kopica je urejena drevesna podatkovna struktura. Običajno gre za levo poravnano dvojiško drevo. Poznamo dve vrsti kopic: • MAKSIMALNA KOPICA: vrednost očeta je večja ali enaka vrednosti sinov. Obe poddrevesi sta prav tako maksimalni kopici.
Kopica • MINIMALNA KOPICA: vrednost očeta je manjša ali enaka vrednosti sinov. Obe poddrevesi sta prav tako minimalni kopici. Mi bomo delali z maksimalno kopico.
Kopica Predstavimo jo s tabelo: Kopica je v tabeli podana v eni dimenziji. Zato moramo vedeti kje se nahajajo oče ter levi in desni sin. Pomagamo si z indeksi ter naslednjimi formulami: levi sin: 2*i +1 desni sin: 2*i+2 oče: (i-1)//2 (celoštevilsko deljenje) Ker je kopica levo poravnano dvojiško drevo nimamo praznih mest v tabeli.
Kopica Primer kopice predstavljene s tabelo: Kopica predstavljena kot dvojiško drevo:
Kopica Operacijekijihuporabljamonadkopico so: • prazna - Metodaustvaripraznokopico. • vstavi - V podanokopico, kiima n elementov, vstavimo element. n = 0 (prazna tabela), 1, 2, … Primer: želimo vstaviti 5, 2, 10, 8, 22 Element vstavimonazadnjemesto v kopici ter gaurejamodokler oče ni večji odpodanegaelementa.
Kopica • združi - Podani imamo dve kopici in element. Kopici združimo tako, da podani element uporabimo kot koren. Podani kopici pa uporabimo kot poddrevesi.Koren potapljamo toliko časa dokler ni večji od sinov. Potapljamo ga v smeri večjega sina. Kot rezultat dobimo novo kopico. Primer:
Kopica • prvi Vrnemo element ki je zapisan v korenu. Primer: Kopica se ne spremeni.
Kopica • odstrani prvega Odstranimo element v korenu. Nadomesti ga zadnji element, ki se potaplja dokler ne ustreza pogojem maksimalne kopice. Kopica se pri tem spremeni. Primer: kot rezultat dobimo element v korenu,t.j.30
Kopica Lastnostikopice: • Višina kopice: • levaporavnanost • višina: log2(n), kjer je n število vozlišč • število listov v kopici: (n + 1)//2 • Največji / najmanjši element Največji element: v korenu kopice. Najmanjši element: v enem izmed listov v kopici.
Kopica Uporaba kopice: • Iskanje največjega ter najmanjšega elementa: Največji element je v korenukopice, to je t[0]. Najmanjši element se nahaja v enemizmedlistovkopice. Liste zaporedno primerjamo ter tako dobimo najmanjši element. • Urejanje