Algoritmet e Sortimit.

Slides:



Advertisements
Similar presentations
MENDO! Mendo para se të bësh gjynah ndaj Krijuesit, Furnizuesit, ndaj Atij që të dhuroi çdo të mirë. Këto të mira janë aq të shumta, saqë nëse mundoheni.
Advertisements

Rruga për ahiret nuk kalohet me këmbë, por me zemër.
Algjebra Relacionale & SQL
Rishikimi i literatures Leksioni 7 1. Permbajtja e prezantimit Qellimi i rishikimit te literatures Procesi i rishikimit te literatures Instrumentet e.
Lenda : Kontabiliteti Financiar
SHMU-2 VUSHTRRI Punim Seminarik Lënda:Informatikë Tema:Kartela Grafike
Leksioni nr 2 Data Base.
Arkitektura baze e aplikacioneve web Hyrje ne PHP
Variablat Konstantet Strukturat e kontrollit Ciklet Tabelat (Arrays)
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Punoi:Gisela Zaimi XI_15. Quajme ngarkese elektrike sasine e elektricitetit qe kalon nga njeri trup te tjetri me ane te kontaktit ose ferkimit. Nëse dy.
Fletet e Stiluara ne Kaskade (Cascading Style Sheets - CSS)
TIK 12 – Prof. Blerand Koshi
ALGORITMIKE Leksion 1.
Marrja e te inputit te perdoruesit
Algoritmet e Renditjes
Universiteti i Prizrenit
Android.
Funksionet ne PHP PhD, MS, Under Leksion 8.
SHMU-2 Punim Seminarik Lënda: Informatikë
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Pemet e Kerkimit Binar Leksion 9.
Formatet e skedareve grafike dhe teknikat e kompresimit
SHMU-2 Vushtrri Punim seminarik Lënda : Informatikë Tema : Windows 7 Klasa : IX Punuar nga : Petrit Mavriqi Vushtrri , 2014.
Table 10.1 Capital Expenditure Data for Bennett Company
Table 10.1 Capital Expenditure Data for Bennett Company
Elementet e gjuhës C++.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
Tema:Crossover Cable Nxënësi:Amir Sadiku Arsimtari:Muhamer Ujkani
JavaScript Leksion 8.
Lenda : Kontabiliteti Financiar
MS POWERPOINT PREZANTIMET.
Elementet e gjuhës C++.
Universiteti AAB Programi: PSIKOLOGJI STATISTIKE T-testi Për grupet e pavarura Për grupet e varura Dr.sc. Merita Shala.
5. Unazat.
Tema: Viruset dhe Antiviruset Sh. m
6. Unaza While dhe Do While
F U N K S I O N E T.
SH-M-U-2 Kl.9/4 Valon Ibishi Lënda:Informatikë Tema:Programi Excel Arsimtar:Muhamer Ujkani Vushtrri,2014.
LEKSION 9 Dizenjimi i database-it relacional.
Pune me projekt Tema: Zgjidhja e problemeve nepermjet aplikimit te patches, updates dhe services packs. Punoi: xhensila cela.
Agregatët monetarë Ekzistojnë agregatë monetarë të ndryshëm që përfaqësojnë masa sasiore të ofertës agregate të parasë në një vend. Agregatët monetarë.
USHTRIME MSc. Fisnik Morina PhD (c)
Variablat dhe Funksionet
I Love my family!!!.
PROGRAMIM I UNIVERSITETI I TETOVËS.
QUMSHTORJA SHARRI D R A G A SH
Perpunimi i stringjeve
Ms Word 2003.
Universiteti Shtetëror i Tetovës Fakulteti i Shkencave Matematike-Natyrore Departamenti i Informatikës PROGRAMIM.
SH.M.U 2 Vushtrri Sistemet operative te Winows XP Muhamer Ujkani
IRR (Norma Interne e Kthimit)
Format ne HTML/XHTML Leksion Jan-19.
Targetimi i elementeve specifike
E Drejta e Procedures Penale
Degëzimet.
Internet Ligjerata 8 Dr. Fisnik Dalipi.
TIK 12 – Prof. Blerand Koshi
Programim I Degëzimet Gazmend Xhaferi.
TIK 11 – Prof. Blerand Koshi
Variablat dhe konstantet
Degëzimet.
Microsoft office excel. Punoi:rron prokuplA Lenda:informatike arsimtar:muhamer ujkani tema:perdorimi I excel-it Klasa:9/5.
Unazat FOR.
Ms Word 2003.
SMART TOURISM ENHACEMENT PROJECT
Operatorët.
Shkolla e mesme e ulët “Gjon Serreçi” Ferizaj
Presentation transcript:

Algoritmet e Sortimit

Sortimi me insertim Sortimi me insertim eshte nje algoritem efikas per te renditur nje numer te vogel elementesh. Sortimi me insertim vepron ne menyre te ngjashme me menyren se si shume njerez zakonisht i rendisin letrat: Fillojme me doren e majte boshe dhe letrat jane te permbysura mbi tavoline. Me pas ne heqim nje leter nga tavolina dhe e vendosim ate ne pozicionin e duhur ne doren e majte. Per te gjetur pozicionin e duhur per nje leter, ne e krahasojme ate me secilen prej letrave qe i kemi ne dore, nga e djathta ne te majte. Ne çdo moment, letrat ne doren e majte jane te renditura.

Sortimi me insertim void InsertionSort(iny A[], int size){ int i, j; int temp; count=0; for(i=1; i<size; i++) { temp = A[i]; for(j=i; j>0 && A[j-1]>temp; j--){ A[j]=A[j-1]; count++; } A[j]=temp; cout<<"The number of operations (InsertionSort): "<<count<<"\n";

Perparesite: Implementim i thjeshte Efikas per data sete te vogla Me efikas ne praktike se algoritmet tjera qe kane kohe egzekutimi O(n2)) sic jane selection sort dhe bubble sort.   Eshte adaptiv pra efikas per data sete qe jane deri diku te sortuara ku cdo elemenet nuk eshte me larg se k pozicione Stabil , qe dmth nuk e nderron rendin relativ te elementeve me celes te njejte In-place qe dmth kerkon vetem nje sasi konstante te memories shtese Online; qe dmth se e sorton listen ashtu sic e pranon

Shembull 1: Sortimi me insertim

Shembull 2: Sortimi me insertim Shembull mbi renditjen me nderfutje 9 4 3 7 6 5 8 Bashkesia origjinale me 7 numra te plote pozitive. Pjesa e hijezuar e renditur dhe perpiqemi te insertojme vleren 3 Pjesa e hijezuar e renditur dhe perpiqemi teinsertojme vleren 7 Pjesa e hijezuar e renditur dhe perpiqemi te nderfusim vleren 6 Pjesa e hijezuar e renditur dhe perpiqemi te nderfusim vleren 5 Pjesa e hijezuar e renditur dhe perpiqemi te nderfusim vleren 8 Bashkesia e vlerave e renditur ne rendin rrites

Si e analizojme kohen e ekzekutimit te nje algoritmi? Koha e ekzekutimit te algoritmit varet nga inputi. • Renditja e 1000 numrave kerkon me shume kohe se renditja e 3 numrave. • Nje algoritem renditjeje mund te kerkoje sasi kohe te ndryshme mbi dy inpute te se njejtes madhesi. Psh: do te shohim Sortimi me insertim kerkon me pak kohe per te renditur n elemente kur ato jane qe ne fillim te renditur, sesa kur ato jane te renditur ne rendin e kundert. Rasti me i mire i sortimit me insertim: vektori fillestar eshte i renditur Rasti me i keq i sortimit me insertim: vektori fillestar eshte i renditur ne rendin e kundert

Madhesia e inputit Madhesia e inputit: Varet nga problemi qe po studiohet. • Zakonisht eshte numri i elementeve ne input. Si psh: madhesia n e vektorit qe po renditet. • Por mund te jete edhe diçka tjeter. Psh: ne rastin e shumezimit te dy numrave te plote, mund te jete numri total i biteve ne te dy numrat. • Mund te pershkruhet nga me shume se nje numer. Psh, koha e ekzekutimit e algoritmeve mbi grafet, zakonisht shprehet ne varesi te numrit te kulmeve dhe numrit te harqeve te grafit qe jepet si input.

Koha e ekzekutimit Per nje input te caktuar, koha e ekzekutimit, eshte numri i veprimeve primitive (hapave) qe ekzekutohen. • Na duhet te percaktojme hapat qe te jene te pavarur nga lloji i makines. • Verejme qe çdo rresht i kodit kerkon nje sasi konstante kohe. • Nje rresht mund te kerkoje sasi te ndryshme kohe ne krahasim me nje rresht tjeter, por çdo ekzekutim i rreshtit i kerkon te njejten sasi kohe . • Kjo eshte e vertete nese supozojme se rreshti perbehet vetem nga veprime primitive. Nese rreshti perbehet nga nje thirrje procedure, atehere thirrja e procedures kerkon kohe konstante, por ekzekutimi i saj mund te mos kerkoje nje kohe konstante. Pra nese rreshti nuk ka veprime primitive, atehere ai mund te kerkoje me teper se koha konstante.

Sortimi me bubbles (flluska) Metoda e flluskave bazohet, edhe kjo, ne ndarjen e bashkesise se vlerave ne dy nenbashkesi nga te cilat ajo e djathta eshte e renditur dhe hap pas hapi asaj i bashkangjitet majtas elementi me i madh i nenbashkesise se majte. Kjo renditje shkemben ne menyre te perseritur elementet fqinje qe nuk jane te renditur.

void BoubleSort(ElementType Array[], int n){ int temp; count=0; for(int i=0; i<n-1;i++){ for(int j=i;j<n;j++){ count++; if(Array[i]>Array[j]){ temp=Array[i]; Array[i]=Array[j]; Array[j]=temp; }

Bubble sort Eshte algoritem krahasimi, ashtu qe elementet me te vogla ‘bubble’ ne maje te listes. Edhe pse algoritmi eshte i thjeshte, eshte shume i ngadalshem dhe jopraktik per shumicen e problemeve , edhe me i keq se insertion sort.

Shembull – sortimi me bubbles Shembull mbi renditjen me flluska 9 4 3 7 6 5 8 Bashkesia origjinale me 7 numra te plote pozitive. Pjesa e hijezuar e renditur dhe perpiqemi te bashkangjisim vleren 8 Pjesa e hijezuar e renditur dhe perpiqemi te bashkangjisim vleren 7 Pjesa e hijezuar e renditur dhe perpiqemi te bashkangjisim vleren 6 Pjesa e hijezuar e renditur dhe perpiqemi te bashkangjisim vleren 5 Pjesa e hijezuar e renditur dhe perpiqemi te bashkangjisim vleren 4 Bashkesia e vlerave e renditur ne rendin rrites

sortimi me bubbles Cikli i pare ne algoritem realizon bredhjen neper bashkesi. Cikli i dyte zhvendos, me ane te shkembimeve te njepasnjeshme (nga ku emri flluska), elementin me te madh te nenbashkesise se parenditur te majte deri tek nje element perpara nenbashkesise se renditur te djathte

Analiza - sortimi me bubbles Duke shfrytezuar vetite e njohura te kompleksitetit arrijme ne konkluzionin se algoritmi ne shqyrtim eshte i rendit O(n2).

Krahasimi: Sortimi me insertim dhe sortimi me bubbles Nga analiza e efikasitetit te dy algoritmeve qe sapo pame, veme re se algoritmi i renditjes mebubbles eshte i te njejtit rend me ate te sortimit me insertim. Sidoqofte, kjo nuk do te thote se per ne ata jane njelloj te preferueshem. Ne algoritmin e renditjes me bubble numri i ekzekutimeve eshte i parapercaktuar, ndersa ne algoritmin e sortimit me insertim numri i ekzekutimeve eshte ne varesi te vendosjes se elementeve. Si konkluzion, numri i ekzekutimeve ne algoritmin e sortimit me insertim eshte <= me ate te ekzekutimeve ne algoritmin e renditjes me flluska por rendi i tyre eshte i njejte.

Shembuj te algoritmeve te sortimit Shembuj te algoritmeve te sortimit ne menyre te animuar i gjeni ne adresen e meposhtme: http://www.sorting-algorithms.com/