Page 71 - Demo
P. 71
TEMATIKA 3 ALGORITMIKASi ndikojnë algoritmet në kohën e zbatimit të një programi? Për të kuptuar këtë ndjekim shembullin e mëposhtëm.Shembull: Supozojmë që kemi një kompjuter, i cili ka një shpejtësi të proçesorit 106veprime/sekond. Në të do të zbatohen 7 programe të ndryshme, por jo në të njëjtën kohë. Këto programe zgjidhin të njëjtin problem, por algoritmet përkatëse kërkojnë një numër veprimesh dhe konkretisht n, n2, n3 n5 2n 3n dhe n!, për të gjetur zgjidhjen. Nëse vlerat e n ndryshojnë nga vlera 10 deri në vlerën 60, ne kemi llogaritur kohën që i duhet kompjuterit për të gjetur zgjidhjen, siç tregohet në tabelën e mëposhtme.Kompleksitii algoritmitNumri n në hyrje10 20 30 40 50 60n .00001s .00002s .00003s .00004s .00005s .00006sn2 .0001s .0004s .0009s .0016s .0025s .0036sn3 .001s .008s .027s .064s .124s .216sn5 .1s .3.2s 24s 1.7mn 5.2mn 13mn2n .001s .1s 18mn 13j 36a 366s.3n .06s 58mn 6.5a 3800s. 108s. 1013s.n! 3.6s 770s. 1017s. 1032s. 1049s. 1066s.Nga tabela vëmë re që nëse numri i të dhënave është i vogël, p.sh., nëse n=10 dhe algoritmi kryen n (10) veprime për të gjetur zgjidhjen, atëherë, koha e zbatimit është 0.00001 sekonda. Por, nëse algoritmi do të kryente n! (10!) veprime për të gjetur zgjidhjen, atëherë koha do të ishte 3.6s. Për më tepër, nëse numri i të dhënave rritet, pra n=60, atëhere koha që i duhet programit të parë (n veprime) është 0.0006 sekonda, kurse për programin e fundit (n! veprime) është 1066 sekonda që përkon me disa muaj.Përfundimisht, numri i veprimeve që një algoritëm do të kërkonte për të gjetur zgjidhjen e problemit, është një faktor kyç për të vlerësuar një program. 1. Cilat janë kriteret që shërbejnë për të vlerësuar efikasitetin e algoritmeve?2. Sa është numri i veprimeve që algoritmi Kërkimi sekuencial kryen për një tabelë me nelemente, nëse numri që kërkohet ndodhet në fund të tabelës.3. Shpjego se cili është faktori kyç në përcaktimin e kohës, që i duhet një programi për të zgjidhur një problem të caktuar.4. Le të jetë X numri i veprimeve që kompjuteri PC1 mund të kryejë në njësinë e kohës. Një kompjuter tjetër, kompjuteri PC2 punon K herë më shpejt se kompjuteri PC1, duke kryer kështu K*X veprime në njësinë e kohës. Në të dy kompjuterat do të zbatohen të njëjtat programe. Nëse n është sasia e të dhënave, këto programe kryejnë përkatësisht logn, n, n2 dhe 2n veprime për të zgjidhur problemet përkatëse. Për të njëjtën kohë zbatimi të programeve, dhe, nëse jepet sasia e të dhënave të trajtuara nga PC1, sqaro në tabelën 2, se si është llogaritur sasia e të dhënave të përpunuara nga kompjuteri PC2.KONTROLLONI NJOHURITËKompleksiteti PC1 PC2log n N1 (N1)Kn N2 K . N2n2 N3 . N22n N4 N4 + log K69

