Sie sind auf Seite 1von 13

UNIVERSIDADEFEDERALDORIOGRANDEDONORTE INSTITUTOMETRPOLEDIGITAL

RELATRIOTCNICO

ANDERSONDEARAJOSANTOS HIARLEYFARIASMARTINS

NATAL/RN MARO/2014
1

RELATRIODA1ATIVIDADEAVALIATIVA
Segundo Relatrio Tcnico apresentado disciplina de Estrutura de Dados Bsica I, correspondente atividade avaliativa do semestre 2014.1 do curso de Bacharelado em Tecnologia da Informao da Universidade Federal do Rio Grande do Norte, sob orientaodoProf.JooCarlos.

NATAL MARO/2014

SUMRIO

1.INTRODUO...........................................................................................................03 2.ALGORITMODEPREENCHIMENTODEVETORES04 2.1ALGORITMOCRESCENTE04 2.2ALGORITMODECRESCENTE..04 2.3ALGORITMOALEATRIO..04 3.ALGORITMOSDEORDENAO.05 3.1QUICKSORT...................................................................................................05 3.2MERGESORT.........................................................................................................06 3.3RADIXSORT........................................................................07 4.GRFICOS..08 4.1CRESCENTE.09 4.2DECRESCENTE..10 4.3ALEATRIO..10 6.CONCLUSO...........................................................................................................11 BIBLIOGRAFIA...............................................................................................................12

1INTRODUO

O relatrio aqui presente tem como objetivo a implementao e anlise de forma emprica dos seguintes algoritmos de ordenao: Quicksort, Mergesort e Radixsort. Essesalgoritmos foram apresentados nas aulas ministradaspeloprofessor Joo Carlos Xavier. Os testes realizados nestes algoritmos esto deacordocomas exignciasdispostas no exerccio econsistem em cenriosde arranjos ordenadosde formaaleatria,crescente edecrescente,comamostrasde100,300,500,800e1000 elementos por arranjo, visando contabilizar seu tempo e assim definir a eficcia de cada cdigo em cada um dos cenrios. Para isso osresultadosforamarmazenados em uma planilhas, para a produo de grficos, com os tempos gastosemcada um dosexperimentos(3funesx5quantidadesx3cenrios=45experimentos).

2ALGORTIMOSDEPREENCHIMENTODEVETORES Esses algoritmos foram utilizados para preencher os vetores que iro ser ordenados pelos 3 mtodos de ordenao(Quick Sort, Merge Sort, Radix Sort) que foramusadosparaosexperimentos. A varivel N usada nos algoritmos, so dos tamanhos do vetores (100,300,500,800,1000).

2.1ALGORTMOCRESCENTE Os vetores iro receber nmeros de forma crescente a partir do valor 1 at o valordeNqueotamanhodovetor

2.2ALGORTIMODECRESCENTE Os vetores iro receber nmeros de forma decrescente a partir do valor N(tamanhodovetor)atovalorde1

2.3ALGORTIMOALEATRIO Osvetoresirorecebernmerosdeformaaleatria

3ALGORTIMOSDEORDENAO 3.1QUICKSORT O Quicksort um algoritmo deordenao baseadonadivisoeconquista,que consiste em rearranjar as chaves de modo que as chaves menores precedam as chavesmaiores,emseguidaeleordenaosdoissubvetores((n+1)/2). O primeiro subvetor ter valores menores que o piv, e o segundo subvetor terosvaloresacimadotamanhodopiv.

3.1.1ALGORTMO Oalgoritmorecursivodivididoem3funes:Opiv,atrocaeafuno recursivaprincipal.Avarivelfimusadanosalgoritmos,sodostamanhosdovetores (100,300,500,800,1000). Opividealaquelequeproduzumadivisodovetorcomtamanhos aproximadamenteiguais.

Atrocaondeseordenaovetoreseussubvetores.

Eafunoprincipalrecursiva.

3.2MERGESORT O Mergesort, ou ordenao por mistura, um algoritmo de ordenaodo tipo divisoparaconquista,assimcomooQuicksort. Sua ideia bsica consiste em Dividir(o problema em vrios subproblemas e resolver esses subproblemas atravs da recursividade) e Conquistar(aps todos os subproblemasteremsido resolvidos ocorre a conquistaqueauniodasresolues dos subproblemas).Como o algoritmo do Merge Sort usa a recursividade em alguns problemas esta tcnica no muito eficiente devido ao alto consumo de memriae tempodeexecuo. 3.2.1ALGORTMO A varivel fim usada nos algoritmos, so dos tamanhos do vetores (100,300,500,800,1000). Afunofusoutilizadaparauniroselementoseordenarlos.

Funoprincipalrecursiva:

3.3RADIXSORT Radixsortumalgoritmo deordenaoqueordenainteirosprocessandodgitos individuais. Como os inteiros podem representar strings compostas de caracteres (como nomes ou datas)epontosflutuantesespecialmenteformatados,radixsortno limitadosomenteainteiros. 3.3.1ALGORTMO A varivel fim usada nos algoritmos, so dos tamanhos do vetores (100,300,500,800,1000). Funorecursiva:

Separaosdigitosdecadanmerodovetor:

Comparaeordenacadanmero

4GRFICO Os grficos foram produzidos de acordo com a contabilizao do tempo de execuo dos cdigos de ordenao. Oscdigosforamimplementados conforme as tcnicas ensinadas em sala de aula, e foi posto em testes utilizando trs cenrios distintos(crescente, decrescente, aleatrio) e com 5 conjuntos de tamanhos diferentes(100,300,500,800,1000). Os dados obtidospodemvariarde acordo com a configuraodamaquinaem queelaestiversendoexecutada. Os experimentos foram realizados em uma maquina com a seguinte configurao: S.O.:Windows7Profissional Processador:Intelcorei5(3.0GHZ) Memria:6GBDDR3

4.1CRESCENTE Durante os testes com os nmeros j ordenados de forma crescente, tanto o Radix sort quanto o Merge sort tiveram odesempenho bastanteparecidos mantendo os seus tempos iguais em algumdoscasos,eles se saram bem melhor queoQuick sort.

4.2DECRESCENTE Comosnmeros ordenadosde forma decrescente,foiobservadoopiortempo entres os cenrios testados para o algoritmo do Quick sort, ja que teve que trocar todos os elementos de lugar, para os outros dois algortmos os resultados praticamenteomesmo,tornandoassimopiorcasopossvel.

10

4.3ALEATRIO Comoselementos inseridosdeformaaleatria,oRadixeoMergecontinuaram com o mesmodesempenho,obtendo temposbastantes pequenos, oQuickcomonos ltimosdoiscenriosteveumdesempenhobastantequestionvel.

5.CONCLUSO Dados os trs algoritmos de ordenao, Merge Sort, QuickSorteRadixSort, todos implementadosetestados conformeosrequisitospedidonaatividadeproposta, foi observado na bateria de teste que dependendo de quantidades de elementos a serem processados em cada algoritmo, o tempo pode se comportou diferente em apenasumalgortmo,noQuicksort. Notou se que para ordenar as quantidades o informao o tempo e muito baixo,asvezes no sendocapaz de ser capturadopelasasfunesresponsveispor contabilizar o tempo dos referidos testes, e conforme o tamanho das amostras aumentavam, o tempo seguia a tendencia de se manter baixo, diferenciando apenas noQuicksortemqueotempoaumentavaacadacenrio.

11

O Quick sort sofreu peloofato de precisar trocaroelementosde lugar em seu prpriovetor ,diferente dooutrodosalgortmosanalizados,sedestacandotambmno uso de memria, j que usa apenas um vetor. Como as quantidades das amostras eram pequenaseonmerosvariavamde 0 a (N1),contribuiuparaosoutroscdigos, principalmente para o Radix sort que tem seu desempenho reduzido bastante conformeotamanhodosnmerosaseremordenados,nmeroscommuitodgitos. Conclumos ento queimportantesabercomoosdadosestochegando,com quais dados estamos lidando eseeles j estoordenados de algumamaneira,para quepossamosescolher e aplicar o melhor mtodo para evitarmosperdadetempose aumentarassimaeficinciadosnossosprogramas.

12

BBLIOGRAFIA Wikipdia Matrialdisponibilizadopeloprofessoremsaladeaula.


http://www.di.ubi.pt/~cbarrico/Disciplinas/ProgramacaoAlgoritmos/Downloads/Teorica_Orden acao_Recursiva.pdf

13

Das könnte Ihnen auch gefallen