Você está na página 1de 15

FACNET ANHANGUERA Curso: Sistemas de Informao

Disciplina: Classificao e pesquisa Professor: Guilherme

A riel Amaro Deric! "ian ro D#onne $oares E %an A& Cru' Filipe E%an(elis)a a $il%a Ramon "opes $an)ana *ar!on# * e +li%eira

Ra: 1183317344 Ra: 2135016937 Ra: 4236824032 Ra: 2505003972 Ra: 1158388978 Ra: 2505070983 Ra: 7632734794

Taguatinga

!"

Setem#ro 2013

$t%s &ta%a 1' ()ti)i*amos o seguinte +,digo %ara desen-o)-imento dos testes:

.in+)ude .in+)ude .in+)ude .in+)ude .define tem%o 2000 .define sear+/0% 87 .define sear+/0s 100001 11%rototi%os das fun2es -oid #ateria0testes3int tam4 int t56 -oid )inear3int n4 int t4 int 7%0int4 dou#)e 7%56 -oid )inear0sentine)a3int n4 int t4 int 7%0int4 dou#)e 7%56 -oid #inaria3int n4 int t4 int 7%0int4 dou#)e 7%56 -oid #u##)esort3int n4 int t4 int 7%0int4 dou#)e 7%56 -oid se)e+ao3int n4 int t4 int 7%0int4 dou#)e 7%56 dou#)e unif3)ong int 7seed4 dou#)e )o84 dou#)e /ig/56 int inteiros0unif3)ong int 7seed4 int )o84 int /ig/56 main359 11de+)arao de -aria-eis int o%:04 ti%o6 8/i)e 3o%;:559 s<stem3=+)s=56 11+a#ea)/o +om os %arametros de teste %rintf3=>n $T?S @ C)assifi+aA+A+o e ?esBuisa >n=4135419856 %rintf3= >n C@@@@@@C@@@@@@@@C@@@@@C@@@@@@@@C@@@@@@@@@@@@C@@@@@@@@@@C@@@@@@@@@@@@@C=56 %rintf3= >n D E? D F D )o8 D /ig/ D seed D F' ?ro+' D S' F' ?ro+' D=56 %rintf3= >n C@@@@@@C@@@@@@@@C@@@@@C@@@@@@@@C@@@@@@@@@@@@C@@@@@@@@@@C@@@@@@@@@@@@@C=56 %rintf3= >n D 01 D 100 D 0 D 100000 D 1234554321 D 87 D 100001 D=56 %rintf3= >n C@@@@@@C@@@@@@@@C@@@@@C@@@@@@@@C@@@@@@@@@@@@C@@@@@@@@@@C@@@@@@@@@@@@@C=56 %rintf3= >n D 02 D 1000 D 0 D 100000 D 1234554321 D 87 D 100001 D=56 %rintf3= >n C@@@@@@C@@@@@@@@C@@@@@C@@@@@@@@C@@@@@@@@@@@@C@@@@@@@@@@C@@@@@@@@@@@@@C=56

%rintf3= >n D 03 D 10000 D 0 D 100000 D 1234554321 D 87 D 100001 D=56 %rintf3= >n C@@@@@@C@@@@@@@@C@@@@@C@@@@@@@@C@@@@@@@@@@@@C@@@@@@@@@@C@@@@@@@@@@@@@C=56 %rintf3= >n D 04 D 100000 D 0 D 100000 D 1234554321 D 87 D 100001 D=56 %rintf3= >n C@@@@@@C@@@@@@@@C@@@@@C@@@@@@@@C@@@@@@@@@@@@C@@@@@@@@@@C@@@@@@@@@@@@@C=56 %rintf3=>n>n Se)e+ione os %arA+metros de teste G 1 @ 4 H: =413156 s+anf3=Ad=4Io%56 if3o%559 %rintf3=>n E%+ao in-a)ida ;=56 get+/356 J #reaK6 J J J

F:100
$)goritmo FL ?ro+urado $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif FL +om%ara2es Tem%o de &Me+uo 3segundos5 100 100 100 100 76 76 76 76 0'011 0'018 0'033 0'068 0'006 0'017 0'021 0'011

Nus+a )inear Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a

87 87 100001 100001 87 87 100001 100001

F:1000

$)goritmo

FL ?ro+urado

$)goritmo de gereao de Fumeros a)eatorios Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif

FL +om%ara2es

Tem%o de &Me+uo 3segundos5

Nus+a )inear Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a

87 87 100001 100001 87 87 100001 100001

1000 1000 1000 1000 706 706 706 706

0'049 0'051 0'058 0'084 0'021 0'030 0'031 0'021

F:10000
$)goritmo FL ?ro+urado $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif unif Inteiros0unif FL +om%ara2es Tem%o de &Me+uo 3segundos5 9571 10000 10000 10000 5140 7006 7006 0'078 0'079 0'076 0'109 0'031 0'020 0'040

Nus+a )inear Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om

87 87 100001 100001 87 87 100001

Sentine)a Oinear +om Sentine)a 100001 (nif 7006 0'021

F : 100000
$)goritmo FL ?ro+urado $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif FL +om%ara2es Tem%o de &Me+uo 3segundos5 84483 100000 100000 100000 68964 70006 70006 70006 04102 0'111 0'099 0'125 0'055 0'057 0'067 0'072

Nus+a )inear Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a

87 87 100001 100001 87 87 100001 100001

?asso 2
?ara os a)goritmos de ordenao foram dete+tados os seguintes -a)ores:

F:100

$)goritmo

$)goritmo de gereao de Fumeros a)eatorios Inteiros0unif (nif Inteiros0unif (nif 97 92

FL Tro+as

Tem%o de &Me+uo 3segundos5 0'005 0'002 0'006 0'005

Erdenao %or se)eo Erdenao %or se)eo Nu##)e sort Nu##)e sort

2555 2531

F:1000
$)goritmo $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif unif Inteiros0unif unif 994 993 249280 250441 FL Tro+as Tem%o de &Me+uo 3segundos5 0'016 0'011 0'010 0'010

Erdenao %or se)eo Erdenao %or se)eo Nu##)e sort Nu##)e sort

F:10000
$)goritmo $)goritmo de gereao de Fumeros FL Tro+as Tem%o de &Me+uo

a)eatorios Erdenao %or se)eo Erdenao %or se)eo Nu##)e sort Nu##)e sort

3segundos5

Inteiros0unif unif Inteiros0unif unif

9991 9991 25054787 25112985

0'023 0'022 1'180 1'170

F:100000
$)goritmo $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif unif Inteiros0unif unif FL Tro+as Tem%o de &Me+uo 3segundos5 99988 99991 2502377878 2496787767 20'430 20'530 56'410 53'130

Erdenao %or se)eo Erdenao %or se)eo Nu##)e sort Nu##)e sort

?asso 3

Es resu)tados seguintes foram dete+tados uti)i*ando uma #ase de dados ordenada' E tem%o de gasto %e)a ordenao foi in+)uso no tem%o tota) de eMe+uo de +ada a)goritmo

de

#us+a'

a)goritmo

de

ordenao

uti)i*ado

foi

se)e+tion

sort'

F : 100 e tem%o gasto na ordenao : 0'005 s $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Tem%o de &Me+uo 3segundos5 100 100 100 100 100 100 100 100 12 12 14 14 0'017 0'017 0'022 0'021 0'016 0'021 0'019 0'022 0'021 0'021 0'021 0'017

$)goritmo

FL ?ro+urado

FL +om%ara2es

Nus+a )inear Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Nus+a NinPria Nus+a NinPria Nus+a NinPria Nus+a NinPria

87 87 100001 100001 87 87 100001 100001 87 87 100001 100001

F: 1000 e tem%o gasto na ordenao : 0'016 s

$)goritmo

FL ?ro+urado

$)goritmo de gereao de Fumeros a)eatorios Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif

FL +om%ara2es

Tem%o de &Me+uo 3segundos5

Nus+a )inear Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Nus+a NinPria Nus+a NinPria

87 87 100001 100001 87 87 100001 100001 87 87

1000 1000 1000 1000 1000 1000 1000 1000 18 18

0'021 0'021 0'072 0'028 0'041 0'037 0'029 0'022 0'027 0'042

Nus+a NinPria Nus+a NinPria

100001 100001

Inteiros0unif Inteiros0unif

20 20

0'037 0'021

F : 10000 e tem%o gasto na ordenao : 0'203 s $)goritmo de gereao de Fumeros a)eatorios Inteiros0unif Tem%o de &Me+uo 3segundos5 12 0'203

$)goritmo

FL ?ro+urado

FL +om%ara2es

Nus+a )inear

87

Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Nus+a NinPria Nus+a NinPria Nus+a NinPria Nus+a NinPria

87 100001 100001 87 87 100001 100001 87 87 100001 100001

unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif unif unif

10000 10000 10000 9978 10000 10000 10000 25 26 28 28

0'203 0'203 0'203 0'203 0'203 0'203 0'203 0'203 0'203 0'203 0'203

F : 100000 e tem%o gasto na ordenao usando inteiros: 20'171 s4 usando %onto f)utuante : 20'292 s

$)goritmo

FL ?ro+urado

$)goritmo de gereao de Fumeros a)eatorios Inteiros0unif

FL +om%ara2es

Tem%o de &Me+uo 3segundos5

Nus+a )inear

87

81

20'171

Nus+a )inear Nus+a )inear Nus+a )inear Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Oinear +om Sentine)a Nus+a NinPria Nus+a NinPria Nus+a NinPria Nus+a NinPria

87 100001 100001 87 87 100001 100001 87 87 100001 100001

unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif unif unif

100000 100000 100000 99840 100000 100000 100000 29 34 34 34

20'171 20'592 20'592 20'171 20'171 20'592 20'592 20'171 20'171 20'592 20'592

Passo ,

Rela)-rio . / Pesquisa e Da os $ %esBuisa seBQen+ia) R um a)goritmo sim%)es' S a me)/or so)uo %ara o %ro#)ema de %esBuisa em ta#e)as +om 25 registros ou menos' $ #ase de dados no %re+isa ser ordenada4 mesma ordenada o +usto +ontinua sendo )inear' $ anP)ise de +om%)eMidade R a seguinte:

7 me)/or +aso: E315 7 %ior +aso: E3n5 7 +aso mRdio: E3n125 Com a uti)i*ao de um registro sentine)a na %osio *ero do arra< o+orre um menor nTmero de +om%ara2es o Bue torna a %esBuisa mais rP%ida' UP a %esBuisa #inPria R mais efi+iente' Tam#Rm R um a)goritmo sim%)es4 %orRm R %ara #ases ordenadas' E nTmero de -e*es Bue o taman/o da #ase de dados R di-idido ao meio R +er+a de )og n' 7 me)/or +aso: E315 7 %ior +aso: E3)og n5 7 +aso mRdio: E3)og n5 Cada a)goritmo de %esBuisa %ossui +ara+terVsti+as %ertinentes a uma situao' &ntre os uti)i*ados nesse tra#a)/o R %ossV-e) inferir Bue4 %ara #ase de dados %eBuena4 ordenada ou no a %esBuisa seBQen+ia) R a mais efi+iente' ?ara #ases estP-eis ou WP ordenadas o me)/or a)goritmo R o #us+a #inPria' ?ara registrar o tem%o de eMe+uo de +ada a)goritmo foi uti)i*ado o seguinte +,digo: +)o+K0t tem%oStart6 +)o+K0t tem%o"im6 tem%oStart : +)o+K356 11a)goritmo3%arametros56 tem%o"im : +)o+K356 %rintf3=Tem%o de eMe+u+ao: A'10)f s>n=4 33dou#)e53tem%o"im @ tem%oStart55 1 COECXS0?&Y0S&C56

&T$?$ 2 ?asso 1 InstZn+ia D Oo8 D [ig/ D Seed D 1 D 408 D 96807 D 640993899 D 2 D 490 D 70992 D 383429253 D 3 D 218 D 67508 D 416520389 D Ti%os de !ados $)eat,rios

!$!ES

500 Com%ara2es Tro+a Tem%o Com%ara2es

5000 Tro+a Tem%o Com%ara2es

50000 Tro+a Tem%o

$)goritmo

\ui+KSort NinPria ]ergerSort

6861 3801 4844

754 65708 4214

040010004 0'0009967 0'0039895

104532 54538 65319

11035 6288012 59066

0'0156142 0'0312514 0'0312514

1212545 711283 817897

150884 623952428 756897

0'0156162 4'0485333 1'2656510

Passo 0 Tipos e Da os Ascen en)es


!$!ES 500 Com%ara2es Tro+a Tem%o Com%ara2es 5000 Tro+a Tem%o Com%ara2es 50000 Tro+a Tem%o

$)goritmo

\ui+KSort NinPria ]ergerSort

5778 3989 3271

0 0 2272

0'0010009 0'0010000 0'0020022

84530 56809 42003

0 0 32004

0'0156220 0'0156457 0'0312527

1093634 734465 501951

0 0 401952

0'0175962 0'0166428 1'3750614

Passo 1 Tipos e Da os Descen en)es


!$!ES 500 Com%ara2es Tro+a Tem%o Com%ara2es 5000 Tro+a Tem%o Com%ara2es 50000 Tro+a Tem%o

$)goritmo

\ui+KSort NinPria ]ergerSor t

5526 3498 3216

248 12474 9 4488

0'001001 0 0'001001 3 0'015602 0

82110 51874 39885

2498 12497335 9 61750

0'019098 0'0780093 0 0'0312527

1068378 684688 493459

24998 124997438 2 778178

0'0196266 8'1566506 1'3750438

Passo , Rela)-rio 0 / *2)o os e +r enao


E \ui+K Sort no me)/or +aso sem%re es+o)/e o e)emento mediano da sua )ista de entrada +omo %i-^' E %ior +aso do \ui+Ksort Wustamente na %ior es+o)/a do %i-^: um e)emento eMtremo da )ista 3no ini+io ou no _na)5' Testes +om entradas a)eat,rias e %i-^s es+o)/idos a)eatoriamente mostram Bue a +om%)eMidade do \ui+Ksort4 mesmo nestes +asos4 se a%roMima muito do tem%o de E3n )og n5' 7 me)/or +aso: E3n )og n5 7 %ior +aso: E3n25 7 +aso mRdio: E3n )og n5 7 Fo R estP-e) E ]ergesort no me)/or +aso R simi)ar ao tem%o do \ui+Ksort +om %ou+o mais de E3)og n5' \ua)Buer Bue seWa o +aso e)e sem%re terP a +om%)eMidade de ordem n )og n' Isso R %e)o moti-o de Bue o ]ergesort inde%endentemente em Bue situao se en+ontra o -etor4 e)e sem%re irP di-idir e inter+a)ar' 7 me)/or +aso: E3n )og n5 7 %ior +aso: E3n )og n5 7 +aso mRdio: E3n )og n5 7 &stP-e) 3Im%)ementado +orretamente5 E a)goritmo de insero )inear fa* uma #us+a )inear %ara en+ontrar a %osio %ara fa*er a insero' Fo entanto4 uma -e* Bue o e)emento R inserido numa seBu`n+ia Bue WP estP ordenada4 o idea) R usar uma %esBuisa #inPria4 em -e* de uma #us+a )inear' Considerando Bue uma #us+a )inear reBuer E3n5 +om%ara2es no %ior +aso4 uma #us+a #inPria reBuer a%enas E3)og n5 +om%ara2es' 7 me)/or +aso: E3n )og n5 7 %ior +aso: E3n25 7 +aso mRdio: E3n25

7 &stP-e) E a)goritmo \ui+Ksort4 nos testes eMe+utados a%resenta o maior nTmero de +om%ara2es e o menor nTmero de tro+as' S um a)goritmo efi+iente a%esar do seu %ior +aso ser E3n25' E ]ergesort %ossui um %ior +aso E3n )og n54 no entanto uti)i*a mem,ria auMi)iar e %ossui um a)to +onsumo de mem,ria' UP o Insero NinPria a%resenta um %ior +aso E3n254 e mesmo a%resentando um me)/or +aso E3n )og n5 ainda sim R um a)goritmo de insero' !essa forma R %ossV-e) inferir Bue o a)goritmo \ui+Ksort R %ossi-e)mente o mais indi+ado %ara di-ersas situa2es' E Com%ortamento do \ui+Ksort R demonstrado nas seguintes imagens' 3a5 ]e)/or +aso4 Buando os dados de entrada so a)eat,rios ou %ar+ia)mente ordenados e o %i-^ R o registro do meio' 3#5 Caso ]Rdio' 3+5 ?ior Caso4 o+orre Buando o -etor esta ordenado 3as+' ou des+'5' !essa forma o a)goritmo irP %arti+ionar o arranWo +om n e)ementos em 2 arranWos sendo 1 +om n@1 e)ementos e outro +om a%enas 1 e)emento4 diminuindo o %ro#)ema em a%enas 1 e)emento'

Você também pode gostar