Uploaded by Michael Rose

kapitulli 0

advertisement
Analizë e algoritmeve
Elver H. Bajrami
elver.bajrami@uni-pr.edu, elver_bajrami@hotmail.com
FSHMN, Departamenti i Matematikës,
viti akademik 2021/22, Kapitulli 0
(Kapituj 1 dhe 2 (pjesërisht) nga libri bazë)
Analizë e algoritmeve
1
Referencat
Web faqet :
◼ http://ebajrami.weebly.com/
Literatura
◼ Clifford A. Shaffer, Data Structures and
Algorithm Analysis,
Edition 3.2
Analizë e algoritmeve
2
Hyrje në analizën e
algoritmeve
◼
◼
◼
Kompjuterët e rinj, çdo herë e më te
shpejtë. Pse na duhet programe më
efeciente ?
Ambiciet tona rriten paralel me
mundësitë!
Çdo algoritëm e ka koston e vetë dhe
benefitet e veta
Analizë e algoritmeve
3
Hyrje
◼
◼
◼
Dizajnimi i programeve kompjuterike ka
dy qëllime kryesore:
1. Dizajnimi algoritmeve që të kuptohen
lehtë, kodohen dhe të kontrollohen më
lehtë për gabime
2. Dizajnimi algoritmeve që bënë
aplikacioni të shfrytëzoj resurset e
kompjuterit në mënyrë më efecientë
Analizë e algoritmeve
4
Hyrje
◼
◼
◼
Ne praktikë, është vështire të thuhet se
një algoritëm është më i mirë se tjetri
në të gjitha rastet!
Thuhet se një zgjidhje është efikase
nëse e zgjidhë problemin brenda
kërkesës dhe kufizimeve të resurseve
Kostoja e një zgjidhjeje është sasia e
burimeve që zgjidhja konsumon
Analizë e algoritmeve
5
Problemet, algoritmet dhe
programet
◼
◼
◼
◼
Problemi : detyra që duhet kryhet!
Zgjidhja e tij të provohet vetëm atëherë
pasi te qartësohet komplet .
Problemi mund të shikohet edhe si
funksion që lidhe hyrjet (domena) dhe
daljet (Rangu)
Poashtu, ka disa përjashtime psh,
funksioni date në Unix!
Analizë e algoritmeve
6
Problemet, algoritmet dhe
programet
◼
◼
◼
Algoritmi : metoda apo procesi që
duhet ta ndjekim për të zgjidhur
problemin.
Nëse problemi është funksion atëhere
algoritmi eshte implementimi i tij!
Këtu do të na interesojnë më shumë
rastet kur problemi ka më shume se një
zgjidhje – krahasimi i tyre
Analizë e algoritmeve
7
Problemet, algoritmet dhe
programet
◼
1.
2.
3.
4.
5.
Me perkufizim algoritem mund të quhet dicka
qe plotëson kushtet në vazhdim:
Duhet të jetë korrekt.
Është i krijuar nga një seri e hapave konkret.
Nuk mund të ketë paqartësi se cili hap do të
kryhet me radhë.
Duhet të përbëhet nga një numër i kufizuar
hapash.
Duhet të perfundojë – të jetë i fundëm.
Analizë e algoritmeve
8
Problemet, algoritmet dhe
programet
◼
◼
◼
Programi : Reprezentimi i një algoritmi
ne gjuhën e caktuar programuese
Programi vs algoritmi
Me përkufizim, algoritmi duhet siguroj
detajet e mjaftueshme ashtu që të
shëndrrohet në program sipas nevojës
Analizë e algoritmeve
9
Prapavija matematike e
analizes se algoritmeve
◼
◼
◼
Bashkësitë dhe relacionet, çanta (bag)multiset.
Funksioni faktoriel (n!), disa formula
përafruese
Permutacionet, bashkësia n elementshe
gjithsej n! mundësi renditje, zgjedhja e
rastësishme e renditjes, ka gjasë 1/n!
◼
Analizë e algoritmeve
10
Prapavija matematike e
analizes se algoritmeve
◼
◼
◼
◼
Variablat boleane, algjebra e
predikateve.
Funksionet e rrumbullaksimit te vlerës,
Floor dhe ceiling (rrumb. Nga poshtë
dhe nga larte, psh. Nr. i krahasimeve)
Operatori i modulit (mbetjes) (% ne
java)
Zbatimi i teorisë së gjasës
Analizë e algoritmeve
11
Prapavija matematike e
analizes se algoritmeve
◼
◼
◼
◼
Logaritmet, nr. Minimal i bitëve te
nevojshëm për paraqitja n kodeve te
ndryshme. Numri i krahasimeve ne
algoritmin e kërkimit binary, log n (baza e
nënkuptuar 2)
Vetitë e logaritmeve
Shumat dhe rekurencat (kapitull në vete!)
Teknikat e veretetimit në matematikë
Analizë e algoritmeve
12
Hyrje në analizen e
algoritmeve
◼
Fundi i kapitullit zero
Analizë e algoritmeve
13
Download