Escolar Documentos
Profissional Documentos
Cultura Documentos
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
F:1000
$)goritmo
FL ?ro+urado
$)goritmo de gereao de Fumeros a)eatorios Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif Inteiros0unif (nif
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
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
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
?asso 2
?ara os a)goritmos de ordenao foram dete+tados os seguintes -a)ores:
F:100
$)goritmo
FL Tro+as
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
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
$)goritmo
FL ?ro+urado
$)goritmo de gereao de Fumeros a)eatorios Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif
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
0'021 0'021 0'072 0'028 0'041 0'037 0'029 0'022 0'027 0'042
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
unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif unif unif
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
FL +om%ara2es
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
unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif Inteiros0unif unif unif unif
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
$)goritmo
$)goritmo
0 0 2272
0 0 32004
0 0 401952
$)goritmo
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'