Aeds2 ORDENACAO 1pp
11509 palavras
47 páginas
Algoritmos eEstruturas de Dados II
Ordenação
Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro
UFMG/ICEx/DCC
Algoritmos e Estruturas de Dados II
1
Sumário
• Introdução: conceitos básicos
• Ordenação Interna:
– Seleção
– Inserção
– Bolha
– Shellsort
– Quicksort
– Heapsort
• Ordenação externa:
– Intercalação balanceada de vários caminhos
– Implementação por meio de seleção por substituição
– Considerações práticas
– Intercalação polifásica
– Quicksort externo
• Ordenação parcial:
– Seleção
– Inserção
– Heapsort
– Quicksort
UFMG/ICEx/DCC
Algoritmos e Estruturas de Dados II
2
Considerações iniciais
• Objetivos:
– Apresentar os métodos de ordenação mais importantes sob o ponto de vista prático
– Mostrar um conjunto amplo de algoritmos para realizar uma mesma tarefa, cada um deles com uma vantagem particular sobre os outros, dependendo da aplicação
• Cada método:
– ilustra o uso de estruturas de dados
– mostra como a escolha da estrutura influi nos algoritmos
UFMG/ICEx/DCC
Algoritmos e Estruturas de Dados II
3
Definição e objetivos da ordenação
• Ordenar corresponde ao processo de rearranjar um conjunto de objetos em uma ordem específica.
• Objetivo da ordenação:
– facilitar a recuperação posterior de elementos do conjunto ordenado.
• Exemplos:
– Listas telefônicas
– Dicionários
– Índices de livros
– Tabelas e arquivos
UFMG/ICEx/DCC
Algoritmos e Estruturas de Dados II
4
Observações
• Os algoritmos trabalham sobre os registros de um arquivo.
• Apenas uma parte do registro, chamada chave, é utilizada para controlar a ordenação. • Além da chave podem existir outros componentes em um registro, que não têm influência no processo de ordenar, a não ser pelo fato de que permanecem com a mesma chave.
• O tamanho dos outros componentes pode influenciar na escolha do método ou na forma de implementação de um dado método.
• A estrutura de dados registro é a indicada para representar os elementos a serem ordenados.