hyrje analiza e algoritmeveolti.fgjm.edu.al/leksioni1.pdfambjenit hardware/software. algortime dhe...

13
Hyrje Analiza e algoritmeve Oltion Fociro Departamenti i GjeoInformatikes Universiteti Politeknik i Tiranes Algortime dhe strukture te dheansh 1

Upload: others

Post on 24-Oct-2020

12 views

Category:

Documents


0 download

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