Buscar

algoritmo inserção

Prévia do material em texto

Algoritmos II
Algoritmos de Ordenação
Vamos ver...
• Métodos de Ordenação ou Classificação
 Troca: Bubble Sort
 Seleção: Selection Sort
 Inserção: Insertion Sort
Conceitos Básicos
 Em vários momentos nos deparamos com a necessidade de consultar dados
ordenados
• Por isso, uma das atividades mais utilizadas na área de TI é a ordenação
 O conceito de um conjunto ordenado de elementos tem importância tanto na
informática como em nossa vida cotidiana
• Exemplo: Imagine quão complicado seria localizar um número de telefone
num catálogo se o mesmo não fosse classificado por ordem alfabética nem
por endereço
Conceitos Básicos
 Ordenar corresponde ao processo de rearranjar um conjunto de objetos em
ordem ascendente ou descendente
 O objetivo principal da ordenação é armazenar dados de forma adequada, de
modo a facilitar a busca na recuperação posterior de itens do conjunto ordenado,
tornando mais ágil a recuperação das informações
Conceitos Básicos
Métodos de ordenação mais utilizados:
1. Insertion Sort (ordenação por inserção) 
2. Buble Sort (Ordenação por bolha) 
3. Select Sort (Ordenação por seleção) 
4. Shell Sort (Ordenação por shell) 
5. Quick Sort (Ordenação rápida) 
6. Heap Sort (Ordenação por pilha) 
7. Merge Sort (Ordenação por intercalação) 
Bubble Sort
Bubble Sort
 Também conhecido como ordenação por bolha ou método da troca.
 É um dos algoritmos de ordenação mais simples e conhecidos que existem.
Bubble Sort
Funcionamento
• Compara pares de valores adjacentes e os troca de lugar se estiverem na ordem 
errada. 
• Trabalha de forma a movimentar, uma posição por vez, o maior valor existente na 
porção não ordenada de um array para a sua respectiva posição no array 
ordenado. 
• Esse processo se repete até que mais nenhuma troca seja necessária, ou seja, os 
elementos já estão ordenados. 
Bubble Sort
Passo a passo 
Bubble Sort
Bubble Sort
 Processo continua até todo o array estar ordenado 
Selection Sort
Selection Sort
 Também conhecido como ordenação por seleção.
 É outro algoritmo de ordenação bastante simples. 
 A cada passo ele seleciona o melhor elemento para ocupar aquela posição do 
array.
 Na prática, possui um desempenho quase sempre superior quando comparado 
com o bubble sort.
Selection Sort
Funcionamento
• A cada passo, procura o menor valor do array e o coloca na primeira posição do 
array.
• Divide o array em duas partes: a parte ordenada, a esquerda do elemento 
analisado, e a parte que ainda não foi ordenada, a direita do elemento. 
• Descarta-se a primeira posição do array e repete-se o processo para a segunda 
posição. 
• Isso é feito para todas as posições do array. 
Selection Sort
Selection Sort
Passo a passo 
 Para cada posição i, procura no restante do array o menor valor para ocupá-la 
Selection Sort
Insertion Sort
Insertion Sort
 Também conhecido como ordenação por inserção.
 Similar a ordenação de cartas de baralho com as mãos. 
 Pegue uma carta de cada vez e a insira em seu devido lugar, sempre deixando as 
cartas da mão em ordem. 
Insertion Sort
 É um simples algoritmo de ordenação, eficiente quando aplicado a um pequeno 
número de elementos. 
 Em termos gerais, ele percorre um vetor de elementos da esquerda para a direita 
e à medida que avança vai deixando os elementos mais à esquerda ordenados.
Insertion Sort
Funcionamento
 O algoritmo percorre o array e para cada posição X verifica se o seu valor está na 
posição correta. 
 Isso é feito andando para o começo do array a partir da posição X e 
movimentando uma posição para frente os valores que são maiores do que o 
valor da posição X.
 Desse modo, teremos uma posição livre para inserir o valor da posição X em seu 
devido lugar. 
Insertion Sort
Insertion Sort
Passo a passo 
 Para cada posição i, movimenta os valores maiores uma posição para frente no 
array 
Insertion Sort

Outros materiais

Perguntas Recentes