Page 72 - Demo
P. 72
Nxënësi/ja:3.8Numri i veprimeve që një algoritëm kërkon për të gjetur zgjidhjen e problemit është i rëndësishëm në përcaktimin e efikasitetit të tij. Ky numër shpesh njihet si kompleksiteti në kohë i algoritmit. Kompleksiteti i një algoritmi varet nga numri i herëve që futemi në cikël. Jepet algoritmi i mëposhtëm, i cili gjen vlerën maksimale në një tabelë me n numra. Sa do të ishte numri i veprimeve që ky algoritëm duhet të kryejë, nëse vlera maksimale gjendet a) në fillim të tabelës; b) në fund të tabelës?Algoritem Llogaritja e vlerës maksimaleInput : Tabela A me n element A[0,…, n-1]Ouput : Vlera maksimale e Amaxvl A[0] for ( i 1 ; i < n-1 ; i++) {if (A[i]>maxvl) maxvl A[i]}return maxvlNë algoritmin e mësipërm, Algoritëm Llogaritja e vlerës maksimale, cikli For përsëritet n herë, aq sa është numri i elementeve që ndodhen në tabelë. Në këtë rast, mund të themi që algoritmi ka një kompleksitet linear të barabartë me n. Nëse problemi nuk detajon të dhënat që mund të futen, atëherë nuk mund të gjejmë ndonjë algoritëm që ta zgjidhë problemin me kompleksitetin më të ulët. Nëse supozojmë që tabela A përmban numra, që janë të renditur, atëherë ne mund të modifikojmë algoritmin si më poshtë:Përmirësimi i algoritmeve di të modifikojë algoritmin për të marrë një rezultat më efikas.Rimarrim në vështrim algoritmin e mëposhtëm:Aktivitet:Në shkencën e algoritmikës, sfida më e vështirë është përmirësimi i algoritmeve që, me fjalë të tjera, do të thotë zvogëlimi i numrit të veprimeve për të zgjidhur problemin e dhënë. Vitet e fundit shumë shkencëtarë janë përfshirë në këtë sfidë dhe kanë propozuar algoritme që ndjekin qasje nga më të ndryshmet, për të gjetur zgjidhje të problemeve të tyre. Në biologji, ju jeni njohur me konceptet e gjenetikës. A mund ta besoni që ka edhe algoritma gjenetik? Kërkoni në internet rreth tyre dhe përpiquni të gjeni edhe lloje të tjerë algoritmesh që frymëzohen nga natyra.70

