Você está na página 1de 2

1 - a) Considerando que necessrio realizar a ordenao no menor tempo possvel, em

ambos os arquivos de tamanho 75, 500 e 1000000 eu usaria o QuickSort, primeiramente


pelo seu custo O (n log n) comparaes e na tabela comparativa dos mtodos de
ordenao do Livro Projeto de Algoritmos com implementao em Pascal e C, ele se
mostrou o mais eficiente e rpido para ordenar arquivos de 500, 5000, 1000 e 30000
registros. Uma implementao robusta desse mtodo a melhor escolha para ordenar
vetores.
b) Como eu no poderia usar um mtodo em que a ocorrncia seria possvel de um pior
caso no fosse permitida, e ainda assim precisaria realizar a ordenao dos elementos
dos arquivos no pior tempo possvel, para os casos de 75, 500 e 1000000 eu usaria o
mtodo da Seleo, pois um dos mtodos mais simples, e requer O(n) comparaes,
alm de ser apresentado como o mtodo mais lentos nas tabelas de comparaes do
Livro Projeto de Algoritmos com implementao em Pascal e C.
2 - Pela anlise dos fatos, podemos perceber que apesar de cada chave ter os seus 4 bits
menos significativos aleatoriamente alterados, eles ainda esto ordenados, pois o
computador no foi destrudo, e antes da catstrofe as chaves j foram submetidas a
uma ordenao por um mtodo O(n log n). E j que teria que ser escolhido um
algoritmo que ordene os novos nmeros em O(n), o melhor mtodo a ser escolhido o
Insero, pois como cada chave j est ordenada, e para arquivos j ordenados, o custo
para a descoberta que cada item j est em seu lugar O(n).
a) Quando h casos de restries por estabilidade, a melhor escolha a ser feita o de
Insero, tanto para verificar que os nmeros j esto em ordem quanto para ordenar os
4 bits menos significativos de cada chave, pois entre os mtodos estudados, foi o nico
que se apresentou estvel.
b) Quando se tem restries de intolerncia ao pior caso, para se ordenar os 4 bits
menos significativos (que foram aleatoriamente alterados) a melhor escolha o
HeapSort, que qualquer que seja sua entrada, o comportamento dele O(n log n).
5 O algoritmo ShellSort divide o vetor a ser ordenado em partes menores para
facilitar a ordenao dos itens, por isso, apesar de quando H=1 ele se comporta como o
mtodo de Insero direta, o vetor j est pr-ordenado sendo necessrias somente
algumas poucas trocas. Por ele no ordenar o vetor inteiro diretamente, em algum
momento possvel que a ordem original dos registros de chaves iguais no seja
preservada, o torna um mtodo no estvel.
A imagem abaixo mostra a troca da ordem original dos registros de chaves iguais:

7 O mtodo de Insero para este caso o mais eficiente pois para


arquivos j ordenados, verifica e ordena os arquivos em menos tempo que o
QuickSort, tornando-se ideal para colocar em ordem arquivos quase
ordenados, e tendo um custo de O(n), caso os arquivos estejam ordenados.
Quando se trata de vetores j ordenados, o QuickSort cai em seu pior caso,
onde as comparaes so em sua maior parte desequilibradas, fazendo o
custo ser O(n).

Você também pode gostar