1 / 14

KOPICA

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:

orea
Download Presentation

KOPICA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. KOPICA 1.Seminarska naloga Špela Obid Sanja Narančić Alenka Abičič

  2. 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.

  3. 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.

  4. 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.

  5. Kopica Primer kopice predstavljene s tabelo: Kopica predstavljena kot dvojiško drevo:

  6. 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.

  7. Prikaz metode vstavi Kopica

  8. 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:

  9. Kopica

  10. Kopica • prvi Vrnemo element ki je zapisan v korenu. Primer: Kopica se ne spremeni.

  11. 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

  12. Kopica

  13. 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.

  14. 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

More Related