You are on page 1of 8

FACULDADE ANHANGUERA

Amanda Dias Oliveira - RA: 1099153844 Fbio Carmo - RA: 1053003750 Hitallo de Souza Santos - RA: 1053012008 Kelvin Rodrigues Ferreita - RA: 5661132826 Miller Leonardo Macdo - RA: 1053008028 -

Classificao e Pesquisa
Relatrio 4 rvores Parte 2

Belo Horizonte
2012

ETAPA 4
Passo 1 - Apresentar explicaes sobre as anlises realizadas neste estudo: por que houve
reclamaes de clientes com relao a desempenho e se existe um algoritmo de ordenao que
pode ser usado como padro para qualquer.
Os algoritmos tem caractersticas nicas nos quais apresentam desempenho superior conforme a
entrada no sistema (quantidade de dados) e recursos disponveis:
Selection
Caractersticas
Interessante para arquivos pequenos

Desvantagens
O fato de o arquivo j estar ordenado no ajuda
em nada, pois o custo continua quadrtico.
O algoritmo no estvel.

Bubble
Caractersticas
Para o usurio, no h vantagem.

Desvantagens
Percorre a estrutura muitas vezes, por isto se torna
ineficiente.

Insertion
Caractersticas

Desvantagens

Eficiente quando a estrutura est "quase O pior caso quando os itens esto originalmente
ordenada".
na ordem reversa.
Boa escolha caso deseja inserir elementos aos
poucos. Estvel.
Merge
Caractersticas

Desvantagens

Recomendado para aplicaes com restrio de


tempo. A complexidade do merge sort a mesma
para o pior, mdio e melhor caso. Independente da
situao dos dados no vetor, o algoritmo ir
sempre dividir e intercalar os dados.

Utiliza memria auxiliar, j que utiliza outros


vetores para as subordenaes. Alto consumo de
memria

Shell
Caractersticas

Desvantagens

A razo da eficincia do algoritmo ainda no O tempo de execuo do algoritmo sensvel


conhecida. Ningum ainda foi capaz de analisar o ordem inicial do arquivo.
algoritmo. A sua anlise contm alguns problemas O mtodo no estvel,
matemticos muito difceis. O que se sabe que
cada incremento no deve ser mltiplo do anterior.
Shellsort uma tima opo para arquivos de
tamanho moderado.
Quick
Caractersticas

Desvantagens

O pior caso ocorre quando, sistematicamente, o


piv escolhido como sendo um dos extremos de
um arquivo j ordenado.
Isto faz com que o procedimento Ordena seja
chamado recursivamente n vezes, eliminando
apenas um item em cada chamada.
Extremamente eficiente para ordenar arquivos de
dados.
Necessita de apenas uma pequena pilha como
memria auxiliar.

Em seu pior caso, realiza o mesmo nmero de


comparaes que o Bubble sort.
No estvel.
Possui vrias verses, o que pode trazer diversos
problemas e diferenas de desempenho, como as
verses utilizadas nos testes.

Binary Tree Search


Caractersticas

Desvantagens

Ordenao rpida. Foi um dos melhores mtodos


de ordenao testados.
Melhor rendimento com menor quantidade de
elementos.
As rvores binrias so uma das estruturas
de dados mais importantes devido a grande
aplicabilidade das mesmas.

Torna o processo de busca mais lento, devido a


possibilidade de alta profundidade da rvore.
Seu desempenho depende da quantidade e ordem
dos elementos de entrada.

AVL Tree
Caractersticas
Objetiva buscas mais rpidas.

Desvantagens
Ordenao lenta devido aos inmeros processos
de calculo dos fatores de balanceamento e
balanceamentos.
Sua ordenao foi uma das mais demoradas.

B-Tree
Caractersticas

Desvantagens

Arvore-B uma estrutura balanceada projetada


para trabalhar com dispositivos de armazenamento
secundrio como dispositivos magnticos.
Utilizada para manipular muitos dados, sendo
utilizada por SGBDs e manipulao de arquivos.
Economia de memria. Mais adequada a arquivos
volteis do que rvores binrias.

Performance de busca por chave idntica a da


rvore binria, se s ponteiros para nodos so
empilhados.
Nodo no-folha com m chaves visitado m vezes.

Desta forma, a padronizao de um algoritmo de busca consistir em perda de desempenho nas


operaes bsicas (insero, busca e remoo). Para se evitar desagrados dos clientes, deve-se
escalar para uma determinada tarefa, um algoritmo com caractersticas favorveis resultando em
melhores desempenhos.

Passo 2 - Apresentar os principais aspectos que devem ser levados em considerao no


momento da escolha do mtodo a ser usado para ordenar uma base de dados e mant-la
ordenada. Para isso devero considerar principalmente: a dimenso da base de dados; o
nmero de execues de ordenao realizadas pelo sistema e o nmero de buscas realizadas
pelo sistema.
Resultados dos testes de dados aleatrios:

As tabelas acima demonstram o desempenho mdio dos algoritmos, uma referncia mais
prxima de um caso real.
Como podemos constatar nos mais variados testes (como na Etapa 2), a entrada no sistema um
dos aspectos mais importantes na escolha, muitos dos mtodos tem desempenho relacionado a
ordem e quantidade de dados inseridos. Outro fatores muito importantes que devem ser levados
em considerao o tipo de estrutura utilizada, quantidade de recursos disponveis (memria
principal).

Passo 3 - Apresentar:
A posio da equipe sobre as melhores prticas em situaes que envolvam pequenas bases de
dados, grandes bases de dados e bases de dados de tamanho mdio;
Para pequenas bases de dados
Conclumos que para pequenas bases de dados, o algoritmo escolhido poderia ser:
Busca Binria
Busca Linear
Busca Linear com sentinela
Ordenao usando Seleo
Ordenao usando Bublesort
Ordenao usando Insero
Chegamos a esta concluso por que estes algoritmos tem um grande gasto de performance se a
massa de dados for muito grande, mas se no, eles podem ser utilizados. Um motivo para adoo
destes seria a facilidade de implementao comparado aos algoritmos mais robustos. Dentre os
mtodos de ordenao, podemos ter uma alternativa interessante: Insero. Como foi citado,
uma boa opo caso a insero de elementos seja aos poucos.
Para bases de dados mdias
Conclumos que para bases de dados medias, o algoritmo escolhido poderia ser:
Ordenao Quicksort
Ordenao Binria
Ordenao ShellSort
Ordenao Heapsort
Ordenao Mergesort
rvore Binria de Pesquisa
Ao pensar em algoritmos para buscas nessas bases de dados de mdio porte que usam estes
metodos de ordenao, podemos sugerir um melhor mtodo de busca para este cenrio, que o
algoritmo de Busca Binria, onde necessita dos dados ordenados para que a busca seja bem
sucedida. Se os dados no estiverem ordenados pode se utilizar os mesmos algoritmos de busca
sugeridos para bases de pequeno porte.

A rvore Binria de Pesquisa tambm se apresentou eficiente para o processo de ordenao.


Para grandes bases de dados
Conclumos que para bases de dados de grande porte, o algoritmo escolhido poderia ser:
Arvores de Pesquisa
Arvores Binrias de Pesquisa
Arvores AVL
B-Trees
Estes algoritmos so tanto quanto de ordenao quanto de busca, porem existe algumas
peculiaridades.
Como estamos lidando com uma base de dados de grande porte, ir demandar muito
processamento para todas as operaes. Por exemplo, se na base de dados preciso inserir
muitos dados e retirar muitos dados somente, o algoritmo mais indicado Arvores de Binrias de
Pesquisa ou Arvores de Pesquisa, onde o algoritmo no ir modificar os dados para melhorar a
pesquisa (rotaes ou balanceamentos), mesmo assim, no deixando de faze-la.
Mas se alm de Inserir/Remover os dados necessrio realizar pesquisas rpidas, o algoritmo
indicado Arvore AVL. Onde as operaes so realizadas mas a estrutura toda organizada para
deixar os dados mais prximos possiveis de serem encontrados (fazendo rotaes na arvore de
elementos).
Mas se a massa de dados for muito robusta, utilizando de Inseres/Remoes e pesquisas, o
algoritmo recomendado o B-Tree. Mas para sua implantao necessrio que o algoritmo rode
em algum computador com boa capacidade de processamento.

Consideraes finais da equipe sobre o estudo realizado.


Existem muitos bons algoritmos com diversas opes e caractersticas interessantes de uso. Para
a implementao de um mecanismo de ordenao e/ou busca, deve-se observar as caractersticas
do sistema (frequencia e volume de insero, rdem dos dados a ser inseridos, tamanho da base
de dados, etc.) e qual os mtodos que mais se encaixam.

REFERNCIAS
SONG, Siang Wun. Universidade de So Paulo - IME/ USP. rvore Binria de Busca. 2008. Acesso em:
27 de novembro de 2012. Disponvel em: http://www.ime.usp.br/~song/mac5710/slides/06bst.pdf.
UFMG. Universidade Federal de Minas Gerais. Ordenao / Algoritmos e Estrutura de Dados II. 181 p.
Acesso
em:
27
de
novembro
de
2012.
Disponvel
em:
http://www2.dcc.ufmg.br/livros/algoritmos/slides.php.
UFSC. UFSC. Captulo 10: Gerenciamento de Arquivos / Parte II: rvores e Listas. Acesso em:
27 de novembro de 2012. Disponvel em:
http://www.inf.ufsc.br/~ine5384hp/Estruturas.GerArq-2.html#10.3.3.%20%C3%81rvore%20B.
USP. Universidade de So Paulo - IME/ USP. Mergesort: ordenao por intercalao. Acesso em: 27 de
novembro de 2012. Disponvel em: http://www.ime.usp.br/~pf/algoritmos/aulas/mrgsrt.html.
TOFFOLO, Tlio. Toffolo. rvores AVL / Algoritmos e estrutura de dados. Acesso em: 27 de novembro de
2012. Disponvel em: http://www.toffolo.com.br.

You might also like