1 / 23

KOPICA ( Heap )

KOPICA ( Heap ). AVTORJI: Nevena Zemljič-Blagojević Nina Otoničar Milica Krasić. KAJ JE KOPICA?.

elon
Download Presentation

KOPICA ( Heap )

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(Heap) AVTORJI: Nevena Zemljič-Blagojević Nina Otoničar Milica Krasić

  2. KAJ JE KOPICA? • Kopica je levo poravnano dvojiško drevo, pri katerem je oče (koren) vedno večji ( oz. manjši pri minimalni kopici) ali enak od svojih sinov, hkrati pa morajo biti obe poddrevesi korena že kopici. • Uporabljamo jo zaradi hitrega dostopa do največjega oziroma najmanjšega elementa, kadar imamo podatke urejene po velikosti.

  3. LASTNOSTI KOPICE • Višina kopice : • Višina kopice je odvisna od števila vozlišč (n). • Leva poravnanost! • Število listov: • V kopici je (n+1)//2 listov. • višina kopice: 3 • število listov: 3

  4. MAKSIMALNA KOPICA • Kopico za katero veljajo naslednje lastnosti: • Element v korenu je vedno večji od elementov njegovih sinov, • obe poddrevesi korena morata biti maksimalni kopici. imenujemo maksimalna kopica. Primer:

  5. MINIMALNA KOPICA • Kopico za katero veljajo naslednje lastnosti: • Element v korenu je vedno manjši od elementov njegovih sinov, • obe poddrevesi korena morata biti minimalni kopici. imenujemo minimalna kopica. Primer:

  6. Maksimalna in minimalna kopica • Kopico za katero veljajo naslednje lastnosti: • Element v korenu je enak od elementov njegovih sinov, • obe poddrevesi korena morata biti maksimalni in minimalni kopici, imenujemo maksimalna in minimalna kopica. Primer:

  7. SPOJI KOPICI • Da dve kopici lahko spojimo mora veljati naslednje: • leva kopica mora biti polna, • desna kopica mora biti levo poravnana, • obe kopici morata imeti enako višino. • Dve kopici spojimo z enim poljubnim elementom, ki postane koren teh dveh kopic: • nato ta element potapljamo (ga primerjamo s sinovi), • to ponavljamo dokler element s katerimi smo združili kopici ne najde svoje mesto v tabeli. • Ta postopek nam pomaga pri metodi sestavi iz tabele, pri kateri spajamo kopice.

  8. PRIMER SESTAVI IZ TABELE:

  9. IMPLEMENTACIJARAZREDA • METODA SESTAVI IZ TABELE • Dana je tabela s poljubnimi elementi, • predpostavimo, da so listi že kopice, • prvi oče je na len(tabela)//2, drugi na len (tabela)//2-1,… zadnji pa na prvem mestu v tabeli • preverimo če je oče manjši od svojih sinov, • če je ga zamenjamo (potapljamo element) • postopek nadaljujemo dokler ne dobimo kopico.

  10. PRIMER SESTAVI IZ TABELE:

  11. METODA ODSTRANI ELEMENT • Odstranimo maksimalni (prvi) element v tabeli, • tabela se skrajša za en element. • zadnji element v tabeli (zadnji list kopice) pride na prvo mesto, • in element, ki je po novem na prvem mestu potapljamo, dokler ne najde svoje mesto v tabeli.

  12. PRIMER ODSTRANI ELEMENT:

  13. METODA VSTAVI ELEMENT • Element vstavimo na konec tabele (v list kopice), • ga primerjamo z očetom, • če je večji od očeta ga zamenjamo z očetom, • Ta postopek ponavljamo dokler element ne najde svoje mesto v tabeli.

  14. PRIMER VSTAVI ELEMENT:

  15. VIRI IN LITERATURA • KNJIGE: • Jernej Kozak: Podatkovne strukture in algoritmi, leto 1986 • INTERNET: • http://wiki.fmf.uni-lj.si/wiki/Kopica • http://sl.wikipedia.org/wiki/Kopica • http://rts.uni-mb.si/misc/aps/I.html • http://www-mat.pfmb.uni-mb.si/personal/taranenko/attachments/145_kopica.pdf • http://penelope.fmf.uni-lj.si/r2wiki/index.php/3.Seminarska_naloga/Kopica

More Related