Top Banner
KOPICA (Heap) AVTORJI: Nevena Zemljič-Blagojević Nina Otoničar Milica Krasić
23

KOPICA ( Heap )

Jan 04, 2016

Download

Documents

David Neville

KOPICA ( Heap ). AVTORJI: Nevena Zemljič-Blagojević Nina Otoničar Milica Krasić. KAJ JE KOPICA?. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: KOPICA ( Heap )

KOPICA(Heap)

AVTORJI: Nevena Zemljič-Blagojević

Nina OtoničarMilica Krasić

Page 2: KOPICA ( Heap )

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.

Page 3: KOPICA ( Heap )

LASTNOSTI KOPICEViš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

Page 4: KOPICA ( Heap )

MAKSIMALNA KOPICAKopico 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:

Page 5: KOPICA ( Heap )

MINIMALNA KOPICAKopico 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:

Page 6: KOPICA ( Heap )

MAKSIMALNA IN MINIMALNA KOPICAKopico 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:

Page 7: KOPICA ( Heap )

SPOJI KOPICIDa 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.

Page 8: KOPICA ( Heap )

PRIMER SESTAVI IZ TABELE:

Page 9: KOPICA ( Heap )
Page 10: KOPICA ( Heap )
Page 11: KOPICA ( Heap )

IMPLEMENTACIJA RAZREDAMETODA 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.

Page 12: KOPICA ( Heap )

PRIMER SESTAVI IZ TABELE:

Page 13: KOPICA ( Heap )
Page 14: KOPICA ( Heap )
Page 15: KOPICA ( Heap )
Page 16: KOPICA ( Heap )

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.

Page 17: KOPICA ( Heap )

PRIMER ODSTRANI ELEMENT:

Page 18: KOPICA ( Heap )
Page 19: KOPICA ( Heap )
Page 20: KOPICA ( Heap )

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.

Page 21: KOPICA ( Heap )

PRIMER VSTAVI ELEMENT:

Page 22: KOPICA ( Heap )
Page 23: KOPICA ( Heap )

VIRI IN LITERATURAKNJIGE:

Jernej Kozak: Podatkovne strukture in algoritmi, leto 1986

INTERNET:http://wiki.fmf.uni-lj.si/wiki/Kopicahttp://sl.wikipedia.org/wiki/Kopicahttp://rts.uni-mb.si/misc/aps/I.htmlhttp://www-mat.pfmb.uni-mb.si/personal/tarane

nko/attachments/145_kopica.pdfhttp://penelope.fmf.uni-lj.si/r2wiki/index.php/3.

Seminarska_naloga/Kopica