hyrje analiza e algoritmeveolti.fgjm.edu.al/leksioni1.pdfambjenit hardware/software. algortime dhe...
TRANSCRIPT
-
Hyrje Analiza e algoritmeve
Oltion Fociro
Departamenti i GjeoInformatikes Universiteti Politeknik i Tiranes
Algortime dhe strukture te dheansh
1
-
• Algoritmi eshte nje bashkesi e renditur hapash per te zgjidhur nje problem ne nje kohe te fundme.
Algortime dhe strukture te dheansh
Algoritmet
2
-
- Shumica e algoritmeva transformojne objektin input ne objekt output. - Koha e ekzekutimit te nje algoritmi zakonisht rritet me rritjen e madhesise se inputit. - Koha mesatare e ekzekutimit shpesh eshte veshtire te llogaritet. - Fokusohemi ne rastin me te keq te ekzekutimit. Me i lehte per t’u analizuar Determinues per aplikime si lojra, finance, robotike, etj.
Algortime dhe strukture te dheansh
Koha e ekzekutimit
3
-
- Shkruajme programin qe implementon algoritmin. - Ekzekutojme me inpute temadhesive dhe permbajtjeve te ndryshme. - Perdorimnje funksion, si psh clock build-in i kompjuterit, per te matur kohen aktuale te ekzekutimit. - Paraqesim rezultatet.
Algortime dhe strukture te dheansh
Vleresimi sipas eksperimenteve
4
-
-Eshte e nevojshme te implementohet algoritmi, gje qe jo gjithmone eshte e lehte. - Rezultatet mund te mos vlejne per kohen e ekzekutimit te inputeve te tjera qe nuk jane perfshire ne eksperimente. - Qe te krahasohen dy algoritme, duhet te perdoren te njejtat hardware dhe te njejtat ambjente software.
Algortime dhe strukture te dheansh
Veshtiresite e vleresimeve eksperimentale
5
-
- Perdor nje pershkrimte algoritmit ne nivel te larte, ne vend te implementimit. - Koha e ekzekutimit konsiderohet si nje funksion me madhesi te inputit, n. - Merr parasysh te gjitha mundesite e inputeve. - Na lejon te vleresojme kohen e ekzekutimit pavaresisht ambjenit hardware/software.
Algortime dhe strukture te dheansh
Vleresimi sipas analizes teorike
6
-
- Pershkrimi algoritmit ne nivel te larte - Me i strukturuar se nje tekst i shkruar. - Me pak i detajuar se nje program - Menyre e mire per te pershkruar algoritmet. - Fsheh detajet e dizenjimit te programit. - Psh algoritmi per gjetjen e max ne nje vektor: arrayMax (A,n) currentMAx A[0] for i 1 to n-1 do if A[i] > currentMax then currentMax = A[i] increment i return cuurentMax
Algortime dhe strukture te dheansh
Pseudokodi
7
-
- Veprimetme te thjeshta qe kryhen nga algoritmi. - Te identifikueshme ne pseudokod - Te pavarura nga gjuhet e programimit. - Presupozohet te harxhojne kohe konstante per ekzekutim. - Shembuj: - Vleresimi i nje kushti logjik - Dhenia vlere nje variabli - Indeksimi ne nje vektor. - Therritja e nje metode - Kthimi i vleres nga nje metode
Algortime dhe strukture te dheansh
Veprimet elementare
8
-
- Selection Sort - Insertion Sort - Merge Sort -Bubble Sort - Heap Sort - Quick Sort
Algortime dhe strukture te dheansh
Algoritme te Radhitjes
9
-
- Problemi i renditjes Input: Nje sekuence numrash a1, a2, . . . , an. Output: nje kombinacion/renditje e inputit e tille qe a1≤ a2≤ . . . ≤ an. - Keto sekuenca zakonisht ruhen ne vektor - Numrave i referohemi si celesa. Me cdo celes lidhim informacion shtese. - Do te shikojme disa menyra per te zgjidhur problemet e renditjes. - Secilamenyre do te shprehet si algoritem, procedure llogaritese e cila merr nje vlere, apo bashkesi vlerash, si input dhe kthen nje vlere apo bashkesi vlerash si output.
Algortime dhe strukture te dheansh
Algoritme te Radhitjes
10
-
Nga i = 0 deri (i < n – 1) (a) min = a[i] (b) loc = i Nga j = i + 1 deri (j < n – 1) if (a[j] < min) (a) min = a[j] (b) loc = j if (loc ! = i) (a) swap = a[i] (b) a[i] = a[loc] (c) a[loc] = swap
Algortime dhe strukture te dheansh
Selection Sort
11
-
Algortime dhe strukture te dheansh
Selection Sort
12
-
- Rasti me i mire f (n) = (n(n – 1))/2 = O(n^2) - Rasti me i keq f(n) = (n(n – 1))/2 = O(n^2) - Mesatartja f(n) = (n(n–1))/2 = O(n^2).
Algortime dhe strukture te dheansh
Selection Sort
13