REPUBLIC OF MOLDOVA MOLDOVA MINISTERUL MINISTE RUL EDUCA EDU CATIEI TIEI UNIVERSITATEA TEHNICA A MOLDOVEI Catedra de Calculatoare
RAPORT Lucrarea de Laborator № 2 Analiza si Metode de Sortare
A
efectuat:
A
verificat :
gr. TI-142 lector superior
Chisinau 2015
Comanda Artur Bagrin Ve Veronica ronica
Lucrarea de Laborator № 2
Sarcina lucrarii: 1. De aplicat in cod algoritmele de sortare : Mergesort , Quicksort si Bubblesort 2 De a!lat numarul de iteratii la !iecare sortare " De introdus timpul de e#ecutare in cod $ De construit tabel dupa timpul de e#ecutare si numarul de iteratii 5 De construit un gra! dupa tabel
Codul programului: #defne _CRT_SECURE_NO_WARNINGS #incude!conio"$ #incude!io%trea&$ #incude!ti&e"$ #incude !'ector$ u%in( na&e%)ace %td* int it* con%t int n + ,--* int tab.n/* 00 1uic%ort " int )artition3int InitiaTabou./4 int to)4 int botto&5 6 int 7 + InitiaTabou.to)/* int i + to) 8 ,* int 9 + botto& : ,* int te&)* do 6 do 6 988* ; <ie 37 ! InitiaTabou.9/5* do 6 i::* ; <ie 37 $ InitiaTabou.i/5* i= 3i ! 95 6 te&) + InitiaTabou.i/* InitiaTabou.i/ + InitiaTabou.9/* InitiaTabou.9/ + te&)* ; ; <ie 3i ! 95* it + i : 9* return 9* ;
Chisinau 2015
'oid >uic%ort3int InitiaTabou./4 int to)4 int botto&5 6 int &idde* i= 3to) ! botto&5 6 &idde + )artition3InitiaTabou4 to)4 botto&5* >uic%ort3InitiaTabou4 to)4 &idde5* >uic%ort3InitiaTabou4 &idde : ,4 botto&5* ; ; 'oid Af%areTabou3int InitiaTabou./4 int %i?e5 6 int i* =or 3i + -* i ! %i?e* i::5 6 cout !! InitiaTabou.i/ !! @ @* ; cout !! BnBn* ;
int &ain35 6 int initiaTabou.,---/* int n + -* rand35* int &ari&e + n* =or 3int i + -*i ! &ari&e* i::5 tab.i/ + rand35 D ,--- 8 ,--* cout !! Tabou ne%ortat !! end* Af%areTabou3tab4 &ari&e5* coc_t %tart4 end* %tart + coc35* >uic%ort3tab4 -4&ari&e8,5* cout !! end* cout !! end* cout !! Tabou %ortat )rin &etoda >ui%ort e%te !! end* Af%areTabou3tab4 &ari&e 5*
cout !! end* )rint=3BnTi&)u de e7ecutie a a(orit&uui 1uic%ort e%te D"F= 4 33doube53coc35 8 %tart55 0 CLOCS_PER_SEC5* end + coc35* cout !! end* cout!!Nu&aru de iteratii !!it!! end* _(etc35*
Chisinau 2015
return -* ;
#defne _CRT_SECURE_NO_WARNINGS #incude!conio"$ #incude!io%trea&$ #incude!ti&e"$
u%in( na&e%)ace %td* con%t int n + ,--* int tab.n/* int it* 00Her(eSort 'oid HS3 int au7,4int au724int au74 int au7J5 6 int i4 9* =or 39 + au7,*9 !+ au72*9::5 =or 3i + au7*i !+ au7J*i::5 i= 3tab.i/!tab.9/5 6 tab.i/ :+ tab.9/* tab.9/ + tab.i/ 8 tab.9/* tab.i/ 8+ tab.9/* it + i : 9* ; ; 'oid AK3int tab./4 int %i?e5 6 int i* =or 3i + -* i ! %i?e* i::5 6 cout !! tab.i/ !! @ @* ;
cout !! BnBn* ; 'oid in%ert3int i4 int 95 6 i= 3tab.i/$tab. 9/5 6 tab.i/ :+ tab. 9/* tab. 9/ + tab.i/ 8 tab. 9/* tab.i/ 8+ tab. 9/* ; ;
Chisinau 2015
int Her(eSort3int i4 int 95 6 i= 3 9 8 i !+ ,5in%ert3i4 95* e%e 6 Her(eSort3i4 3i : 95 0 25* Her(eSort3, : 3i : 95 0 24 95* HS3i4 3i : 95 0 24 , : 3i : 95 0 24 95* ; return tab* ; int &ain35 6 int initiaTabou.,----/* int n + -4 arra.,----/* rand35* int &ari&e + n* =or 3int i + -*i ! &ari&e* i::5 tab.i/ + rand35 D ,--- 8 ,--* 6 coc_t %tart4 end*B %tart + coc35* =or 3int i + -* i ! n* i::5 Her(eSort3-4 n 8 ,5* %tart + coc35* cout !! Tabou %ortat )rin &etoda Her(eSort e%te !! end* Her(eSort3-4 n 8 ,5* AK3tab4 &ari&e5* cout !! Nu&aru de iteratii !!it !! end* cout !! end* )rint=3Ti&)u de e7ecutie a a(orit&uui Her(eSort e%te D"F=Bn4 33doube53coc35 8 %tart55 0 CLOCS_PER_SEC5* ;
_(etc35* return -* ;
#defne _CRT_SECURE_NO_WARNINGS #incude!conio"$ #incude!io%trea&$ #incude!ti&e"$ #incude !'ector$
Chisinau 2015
u%in( na&e%)ace %td* int it* con%t int n + ,--* int tab.n/*
'oid bubbe_%ort3int iarr./4 int nu&5 6 int i4 9+-4 4 te&)* boo %
; 'oid Af%areTabou3int iarr./4 int %i?e5 6 int i* =or 3i + -* i ! %i?e* i::5 6 cout !! iarr.i/ !! @ @* ; cout !! BnBn* ;
int &ain35 6 int initiaTabou.,---/* int n + -* rand35*
Chisinau 2015
int &ari&e + n* =or 3int i + -*i ! &ari&e* i::5 tab.i/ + rand35 D ,--- 8 ,--* cout !! Tabou ne%ortat !! end* Af%areTabou3tab4 &ari&e5* coc_t %tart4 end* %tart + coc35* bubbe_%ort3tab 4 &ari&e 5* cout !! end* cout !! end* cout !! Tabou %ortat )rin &etoda bubbe %ort e%te !! end* Af%areTabou3tab4 &ari&e5*
cout !! end* )rint=3BnTi&)u de e7ecutie a a(orit&uui bubbe %ort e%te D"F= 4 33doube5 3coc35 8 %tart55 0 CLOCS_PER_SEC5* end + coc35* cout !! end* cout !! Nu&aru de iteratii !! it !! end* _(etc35*
_(etc35* return -* ;
%e&ultatul a!isarii:
Metoda QuickSort :
N+,-
Chisinau 2015
N+2-
N+-
Chisinau 2015
N+J-
N+-
Metoda MergeSort: '(10
Chisinau 2015
'(20
'("0
Chisinau 2015
'($0
'(50
Metoda BubbleSort
Chisinau 2015
'(10
'(20
'("0
Chisinau 2015
'($0
'(50
Concluzie: Efectuînd lucrarea dată am implementat algoritmi de sortare, quicksort , mergesort si bubblesort, bazaţi pe analizind timpul de executie al algoritmilor daţi. Aceşti algoritmi au un timp de execuţie diferit, de aceea este important de a alege algoritmul cel mai ecient, adică algoritmul care are un timp de execuţie mic,se obsera ! ".#in cele analizate se ede ca quicksort este un algoritm mai rapid,la quick sort se efectueaza mai multe iteratii. $.#ar se obsera ca dupa analiza si executare cel mai incet lucreaza sortarea dupa bubblesort.
Chisinau 2015