You are on page 1of 31

STRUKTURATDHNASH

Leksioni7Pemt
UNYT - Educating Tomorrow's Leaders 1
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Pemt

Prezantuar nga Dr. Ervin Ramollari


Departamenti i Shkencave Kompjuterike
ervinramollari@unyt.edu.al

UNYT - Educating Tomorrow's Leaders 2


Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Permbajtja

Pemet si tip abstrakt te dhenash


Perkufizime
Implementimi i pemeve
Bredhja e pemeve
Veprime rekursive me pemet binare

1-3 1-3
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Pemet
Pema (Ang: Tree) eshte nje strukture thelbesore ne
shkencat kompjuterike.
Pothuajse te gjithe sistemet operative ruajne skedaret
(fajlet) ne peme ose ne struktura te ngjashme me
pemet.
Pemet githashtu perdoren ne zhvillimin e
kompilatoreve, procesimin e tekstit, si dhe ne
algoritmet e kerkimit.
Inteligjenca artificiale dhe shume nen-fusha te tjera te
shkencave kompjuterike i perdorin gjeresisht pemet.
1-4
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Pemet e pergjithshme

Pemet mund te perkufizohen ne dy menyra:


jo-rekursivisht dhe rekursivisht.
Perkufizimi jo-rekursiv eshte teknika me
direkte, keshtu qe do te fillojme me kete
perkufizim.
Formulimi rekursiv na lejon te shkruajme
algoritme te thjeshta per te manipuluar pemet.

1-5
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Perkufizimi i pemes
Jo-rekursivisht, nje peme perbehet nga nje bashkesi
nyjesh dhe nje bashkesi brinjesh me nje drejtim, te
cilat lidhin cifte nyjesh
Ne kete lende do te konsiderojme pemet me rrenje.
Nje peme me rrenje ka keto cilesi:
Njera nyje dallon si rrenja.
Cdo nyje c, pervec rrenjes, lidhet me nje brinje qe fillon
nga ekzaktesisht nje nyje tjeter p. Nyja p eshte prindi i c,
dhe c ishte nje nga femijet e p.
Nje rruge unike (Ang: unique path) fillon qe nga rrenja deri
tek secila nyje. Numri i brinjeve qe duhen ndjekur eshte
gjatesia e rruges.
1-6
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Perkufizimi i pemes (vazhdim)

Nje brinje me nje drejtim lidh prindin me femijen.


Nje nyje qe nuk ka femije quhet gjethe (Ang: leaf).

1-7
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Thellesia dhe Lartesia

Thellesia e nje nyjeje ne nje peme eshte


gjatesia e rruges qe nga rrenja deri tek nyja.
Pra, thellesia e rrenjes eshte gjithmone 0, dhe
thellesia e seciles nyje eshte 1 me shume se
sa thellesia e prindit te saj.
Lartesia e nje nyjeje ne nje peme eshte
gjatesia e rruges qe nga nyja deri tek gjethja
me e thelle.

1-8
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Shembull i nje peme

1-9
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Perkufizime
Nyjet me te njejtin prind quhen motra (Ang: siblings);
pra B, C, D, dhe E jane motra.
Nese ka nje rruge nga nyja u deri tek nyja v, atehere
u eshte nje paraardhes i v dhe v eshte nje
pasardhes i u.
Nese u v, atehere u eshte nje paraardhes i vertete i
v dhe v eshte nje pasardhes i vertete i u
Madhesia e nje nyje eshte numri i pasardhesve qe
ka nyja (duke perfshire vete nyjen). Pra, madhesia e
B eshte 3, dhe madhesia e C eshte 1.
Madhesia e pemes eshte sa madhesia e rrenjes.
1-10
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Perkufizimi Rekursiv

Nje perkufizim alternativ i pemes eshte rekursiv: Ose nje


peme eshte bosh, ose ajo permban nje rrenje dhe zero
ose me shume nenpeme jo boshe T1, T2, ..., Tk, ku secila
prej rrenjeve te tyre jane te lidhura me nje brinje nga
rrenja.
1-11
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Implementimi

Nje menyre per te implementuar nje peme do


te ishte te kemi ne secilen nyje nje reference
per tek secili femije i nyjes, pervec te dhenave
qe permban nyja.
Megjithate, meqenese numri i femijeve per nyje
varion shume dhe nuk dihet paraprakisht,
perdorimi i referencave per tek femijet e nyjes
mund te mos jete i arsyeshem, pasi do te
kishte shume memorje te cuar dem.
1-12
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Metoda femija i pare/motra
pasardhese
Metoda femija i pare/motra pasardhese eshte
e thjeshte:
Mbajme femijet e seciles nyje ne nje liste te
lidhur me nyje te pemes, ku secila nyje mban
dy lidhje:
nje per tek femija me majtas (nese nyja nuk eshte
gjethe) dhe
nje per tek femija djathtas (nese nyja nuk eshte
motra me e djathte)

1-13
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Metoda femija i pare/motra
pasardhese

1-14
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Sistemet e skedareve dhe pemet

1-15
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Listimi i nje direktorie

1-16
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhja para-rendore e pemeve
Ang: preorder traversal
Ne kete algoritem, i njohur si bredhja para-rendore e pemeve,
puna ne nje nyje kryhet para se te procesohen femijet e saj.

1-17
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhja pas-rendore e pemeve

Ang: postorder traversal


Puna ne nje nyje kryhet pasi procesohen
femijet e saj.

1-18
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhja pas-rendore e pemeve

Numrat ne kllapa perfaqesojne numrin e blloqeve ne disk te


zena nga secili skedar.
Direktorite jane vete skedare, keshtu qe ato gjithashtu perdorin
blloqe disku (per te ruajtur emrat dhe informacion rreth femijeve)

1-19
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhja pas-rendore e pemeve

Supozojme qe duam te llogarisim numrin total te


blloqeve te perdorura nga te gjithe skedaret ne
shembullin tone.
Menyra me e natyrshme eshte te gjejme numrin total
te blloqeve ne te gjithe femijet (te cilet mund te jene
direktori qe duhet te vleresohen rekursivisht): books
(41), courses (8), dhe .login (2)
Atehere numri total i blloqeve eshte totali i te gjithe
femijeve plus blloqet qe zihen ne rrenje (1), ose 52.

1-20
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Duplikimi i nje peme rekursivisht

1-21
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Llogaritja e madhesise
rekursivisht

1-22
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Llogaritja e madhesise
rekursivisht

1-23
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Llogaritja e lartesise rekursivisht

1-24
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Llogaritja e lartesise rekursivisht

1-25
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhjet e pemeve
Kur aplikohet rekursiviteti, ne llogarisim informacion jo
vetem per nje nyje, por gjithashtu per te gjithe
pasardhesit.
Themi qe bredhim nje peme.
Ne bredhjen para-rendore, nyja procesohet dhe me
pas femijet procesohen rekursivisht.
Ne bredhjen pas-rendore, nyja procesohet pasi te dy
femijet procesohen rekursivisht.
Ne bredhjen nder-rendore, femija i majte procesohet
rekursivisht, nyja aktuale procesohet, dhe ne fund
femija i djathte procesohet rekursivisht.
1-26
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhjet e pemeve

printojm
epara

printojm
epas

printojme
nemes

1-27
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Bredhjet e pemeve

Numrat perfaqesojne rendin ne te cilin secila


nyje vizitohet

1-28
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Koha e ekzekutimit per
bredhjet e pemeve
Koha e ekzekutimit per secilin algoritem eshte lineare. Ne cdo
rast, secila nyje printohet vetem njehere.
Si rezultat, kostoja totale e nje instruksioni output-i ne secilen
bredhje eshte O(N).
Prandaj, secili instruksion if gjithashtu ekzekutohet e shumta
nje here per nyje, per nje kosto totale O(N).
Numri total i thirrjeve te metodave qe behen (te cilat perfshijne
nje pune konstante) eshte gjithashtu nje here per nyje, ose O(N).
Pra koha totale e ekzekutimit eshte O(N).

1-29
Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Pr lexim

Mark A. Weiss, Data


Structures and Problem
Solving Using Java,
4/E., Addison-Wesley,
2010 Kapitulli 18

UNYT - Educating Tomorrow's Leaders 30


Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved
Faleminderit!

www.unyt.edu.al UNYT - Educating Tomorrow's Leaders 31


Copyright2010PearsonEducation,publishingasAddisonWesley.Allrightsreserved

You might also like