Page 35 - Demo
P. 35
Nxënësi/ja:2.2Vlerësimi i kohës së ekzekutimit, referuar si T(n), është koha e ekzekutimit të një algoritmi të dhënë për madhësinë n të inputit (të dhënave në hyrje). Praktikisht, ajo llogarit numrin e herëve që ekzekutohet bashkësia e udhëzimeve në një algoritëm. Shprehja T(n) llogaritet si shuma e kohës së ekzekutimit shpenzuar nga secili prej udhëzimeve elementare të algoritmit. Disa lloje veprimesh konsiderohet se kryhen në një kohë konstante, pra, të pavaruar nga madhësia e hyrjes n. Veprime të tilla janë veprimet aritmetike, logjike, krahasimet, vlerëdhëniet, thirrja e funksioneve të gatshme të librarive. Pseudokodi i mëposhtëm (fig.2) ilustron llogaritjen e mesatares së një bashkësie numrash. Le të vlerësojmë kohën e tij të ekzekutimit duke llogaritur T(n).Udhëzimi 1 kryen një lexim me thirrjen e funksionit standard të leximit dhe një vlerëdhënie, ndaj numri i ekzekutimeve llogaritet 2. Udhëzimet 2 dhe 3 kryejnë vlerëdhënie, ndaj vlerësohen nga 1 ekzekutim secila. Udhëzimi 4 është cikël, i cili përsëritet në total n+1 herë, ndër të cilat n herë futet në trupin e ciklit dhe herën e (n+1)-të, pasi kushti provohet si jo i vërtetë, dilet nga cikli. Udhëzimet 5, 6 dhe 7 ekzekutohen nga 2n herë secila, pasi udhëzimi 5kryen një thirrje të funksionit të leximi dhe një vlerëdhënie, ndërsa udhëzimet 6 dhe 7 kryejnë një mbledhje aritmetike dhe një vlerëdhënie. Udhëzimi 8 ka kohë konstante ekzekutimi, të pavarur nga numri i elementëve në hyrje, që llogaritet si një veprim aritmetik (pjesëtim) dhe një vlerëdhënie, pra në total 2. Koha e ekzekutimit për këtë algoritëm është shuma e herëve të ekzekutimit të secilës prej shprehjeve, ndaj totali i shprehjes T(n) në varësi të hyrjes është: T(n) = 7n + 7. Në vlerësimin e algoritmeve është e dobishme të konsiderohen rasti më i mirë, më i keq dhe ai mesatar. Për shembull për kërkimin në tabelën A me n elemente për vlerën K kemi:• Rasti më i mirë: K është elementi i parë në tabelë.• Rasti më i keq: K është elementi i fundit (ose nuk gjendet fare në tabelë).• Rasti mesatar: T(n)mes = (n+1)/2 kupton se si kompleksiteti, shpejtësia, përdorimi i memories, sasia e të dhënave, si dhe lloji i të dhënave në hyrje dhe dalje kushtëzojnë zgjedhjen e algoritmeve.Aktivitet:Përzgjedhja e algoritmeve (II)Zhvilluesi i mirënjohur i sistemit operativ Linux, Linus Torvalds, ka thënë: “Bindja ime është se diferenca mes një programuesi të mirë dhe një të keqi qëndron në rëndësinë që ai i jep strukturave të të dhënave që programi përdor kundrejt shkrimit të kodit. Programuesit jo të zotë shqetësohen për kodin, ndërsa programuesit e mirë marrin në konsideratë strukturat e të dhënave me të cilat punon algoritmi i tyre si dhe marrëdhëniet mes këtyre strukturave!”Supozojmë se kemi një strukturë të dhënash, ku ndodhen germat e alfabetit nga A në J, siç paraqiten në figurën 1. Duam të kërkojmë germën E, ku gjendet pozicioni i saj. Si mund të gjendet më shpejt germa E: duke i vendosur germat në një tabelë në mënyrë të njëpasnjëshme apo në një pemë si tregohet në figurë?Fig. 1Fig. 2ABDH I JE FCGUdhëzimi Numri i herëve të ekzekutuara1 22 13 14 n + 15 2n6 2n7 2n8 21. n = lexo sa numra do mblidhen2. shuma = 03. i = 04. while (i < n)5. numër = lexo numër6. shuma = shuma + numër7. i = i + 18. mesatare = 33

