![Page 1: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/1.jpg)
Universiteti i Prishtinës
Fakulteti i Inxhinierisë Elektrike dhe Kompjuterike
Algoritmet dhe struktura e të dhënave
Vehbi Neziri
FIEK, Prishtinë 2015
![Page 2: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/2.jpg)
©vehbineziri.com 2Prishtinë, 2015
Java 5
• Algoritmet
• Hyrje
• Klasifikimi i algoritmeve
• Analiza e algoritmeve
• Big-O notacioni
• Rastet e analizave
![Page 3: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/3.jpg)
Hyrje
©vehbineziri.com 3Prishtinë, 2015
• Algoritmi është sekuencë e caktuar e hapave me udhëzime tëqarta për zgjidhjen e një problemi.
• Në shkenca kompjuterike, kjo fjalë i referohet një metode tëveçantë të përdorur nga kompjuteri për zgjidhjen e njëproblemi.
• Problemet mund të jenë të formave të ndryshme• Biznesore (p.sh alokimi i fuqisë punëtore për të maksimizuar fitimin)
• Jetësore (p.sh. Je i uritur. Si të blihet një picë?)
• Shkollore (p.sh sortimi i numrave)
![Page 4: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/4.jpg)
Klasifikimi i algoritmeve
©vehbineziri.com 4Prishtinë, 2015
• Algoritmet që përdorin një metodë të ngjashme për zgjidhjene problemeve mund të grupohen së bashku.
• Qëllimi nuk është për klasifikuar një algoritëm si i një apotjetër lloji, por për të vënë në pah mënyrat e ndryshme tëqasjes ndaj një problemi
• Disa nga tipat e algoritmeve që do merren në konsideratëjanë:• Simple recursive
• Backtracking
• Divide and conquer
• Greedy
![Page 5: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/5.jpg)
Analiza e algoritmeve
©vehbineziri.com 5Prishtinë, 2015
• Algoritmet zakonisht paraqiten me pseudo-kod: kod i ngjashëmsi gjuhët programuese, p.sh C, C++, C# etj.
• Analiza e algoritmeve është pjesë e shkencave kompjuterike ecila ofron mjete për të vlerësuar dhe analizuar resurset enevojshme dhe efikasitetin e një algoritmi për zgjidhjen eproblemit të dhënë.
• Zakonisht janë dy aspekte të analizës së algoritmeve• Koha
• Hapësira
![Page 6: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/6.jpg)
Elementet e zakonshme të algoritmeve
©vehbineziri.com 6Prishtinë, 2015
EMRI Emri formal i algoritmit
TË DHËNAT Emrat e vlerave të dhëna për problemin
REZULTATET Emrat e vlerave dalëse për problemin
NDËRMJETËSUESIT Emrat e variablave ndërmjetësuese që përdoren në algoritëm
DEFINIMI Definimi i algoritmit, emri, të dhënat dhe rezultatet
METODA Sekuenca hap pas hapi e deklaratave për zgjidhjen e problemit
![Page 7: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/7.jpg)
Pseudo kodi për një algoritëm të thjeshtë
©vehbineziri.com 7Prishtinë, 2015
kushti?
Hapi B
truefalse
Hapi A
• Kushti if.
• Sintaksa
nëse(kushti)
(Hapi A)
përndryshe
(Hapi B)
fundi nëse
![Page 8: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/8.jpg)
Shembull 5.1
©vehbineziri.com 8Prishtinë, 2015
o Të analizohet algoritmi për gjetjen eshumës së tre numrave të dhënë: • EMRI:
• TË DHËNAT:
• REZULTATET:
• DEFINIMI:
• METODA:
• Merr N1• Merr N2• Merr N3
• Gjej TOTALI=N1+N2+N3
• Kthe TOTALIN
SHUMA3
N1, N2, N3
TOTALI
TOTALI=SHUMA3(N1,N2,N3)
![Page 9: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/9.jpg)
Big O (Kufiri i epërm)
©vehbineziri.com 9Prishtinë, 2015
• f(n) = O(g(n)) , nëse ekzistojnë konstantet pozitive n0 dhe c tëtilla që në të djathtë të n0, vlera e f(n) gjithmonë shtrihet nëncg(n).
![Page 10: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/10.jpg)
Notacioni Θ (rendi i njëjtë)
©vehbineziri.com 10Prishtinë, 2015
• f(n) = Θ(g(n)), nëse ekzistojnë konstantet pozitive n0, c1 dhe c2
të tilla që në të djathtë të n0, vlera e f(n) gjithmonë shtrihetnë mes të c1cg(n) dhe c1cg(n) .
![Page 11: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/11.jpg)
Notacioni Ω (Kufiri i poshtëm)
©vehbineziri.com 11Prishtinë, 2015
• f(n) = Ω(g(n)), nëse ekzistojnë konstantet pozitive n0 dhe c tëtilla që në të djathtë të n0, vlera e f(n) gjithmonë shtrihet nëose mbi ccg(n).
![Page 12: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/12.jpg)
Shembull 5.2
©vehbineziri.com 12Prishtinë, 2015
o Të analizohet kodi i mëposhtëm dhetë tregohet sa është koha eekzekutimit për vlera të ndryshme tëm?
int m = ?;int sum = ?;for (int i = 1; i <= m; i++)
for (int j = 1; j <= m; j++)sum++;
![Page 13: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/13.jpg)
Efikasiteti i algoritmit
©vehbineziri.com 13Prishtinë, 2015
• O(1) – koha konstante: algoritëm me numër të njëjtë tëhapave, pavarësisht nga madhësia e problemit/detyrës.
• O(n) – koha lineare: algoritëm që kërkon një numër të hapaveproporcional me madhësinë e problemit/detyrës.
• O(n2) – koha kuadratike: algoritëm ku numri i operacioneveështë proporcional me katrorin e madhësinë sëdetyrës/problemit.
• O(logn) – koha logaritmike: p.sh kërkimi binar në një listë tërenditur të n elementeve.
• O(an) – koha logaritmike: p.sh kërkimi binar në një listë tërenditur të n elementeve.
![Page 14: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/14.jpg)
Krahasimi i rritjes së normave
©vehbineziri.com 14Prishtinë, 2015
![Page 15: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/15.jpg)
Rastet e analizave
©vehbineziri.com 15Prishtinë, 2015
• Rasti-më i keq (Worst-case Complexity) - Është funksion ipërcaktuar nga numri maksimal i operacioneve të kryeranëpër të gjitha instancat e madhësisë m.
• Rasti-mesatar (Average-case Complexity) - Është funksion ipërcaktuar nga numri mesatar i operacioneve të kryera nëpërtë gjitha instancat e madhësisë m.
• Rastit-më i mirë (Best-case Complexity) - Është funksion ipërcaktuar nga numri minimal i operacioneve të kryera nëpërtë gjitha instancat e madhësisë m
![Page 16: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/16.jpg)
Shembull 5.3
©vehbineziri.com 16Prishtinë, 2015
o Të shkruhet programi i cili përmesfunksionit numero_rreshta(charstr[], int m) i numëron sa rreshta tëri janë në vektorin str. Po ashtu tëanalizohet dhe të tregohetkompleksiteti i algoritmit.
![Page 17: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/17.jpg)
Shembull 5.4
©vehbineziri.com 17Prishtinë, 2015
o Sa here do të ekzekutohet komandasum=sum +array[i][j].
• Do të ekzekutohet 15 herë
![Page 18: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/18.jpg)
Shembull 5.5
©vehbineziri.com 18Prishtinë, 2015
o Të analizohet programi i mëposhtëmdhe të tregohet sa herë do të thirretfunksioni Alfa.
• Do të thirret herë
![Page 19: Algoritmet dhe struktura e të dhënave - Vehbi · PDF file• Në shkenca kompjuterike, kjo fjalë i referohet një metode t ... • Analiza e algoritmeve është pjesë e shkencave](https://reader035.vdocuments.pub/reader035/viewer/2022082208/5a8569977f8b9a882e8c3ae8/html5/thumbnails/19.jpg)
©vehbineziri.com 19Prishtinë, 2015