Escolar Documentos
Profissional Documentos
Cultura Documentos
de Dados Avançado
Algoritmos de Ordenação
E-mail: antonio.zena@anhanguera.com
O que é um algoritmo de ordenação?
Algoritmos de ordenação são um conjunto de instruções que
recebem uma matriz ou lista como entrada e organizam os itens em
uma ordem específica.
Por exemplo, não houve nenhum 0 na lista ‘input’, mas houve uma ocorrência
do valor 1, então você adiciona esse valor à lista ‘output’ uma vez:
output = [1]
Então houve duas ocorrências do valor 2, então você adiciona essas ao lista
‘output’:
output = [1, 2, 2]
E assim por diante até que você tenha a lista ‘output’ final ordenada:
output = [1, 2, 2, 3, 4, 5]
Propriedades
Complexidade espacial: O(K)
Desempenho no melhor caso: O(n+K)
Desempenho médio: O(n+K)
Desempenho no pior caso: O(n+K)
Estável: Sim ( K é o número de elementos distintos no array)
Insertion Sort (ordenação por inserção)
Insertion sort é um algoritmo de ordenação simples para um pequeno
número de elementos.
Exemplo:
Em insertion sort, você compara o elemento chave com os elementos
anteriores. Se os elementos anteriores são maiores do que o elemento
chave , então você move o elemento anterior para a próxima posição.
Comece do índice 1 até o tamanho do array de entrada.
[8 3 5 1 4 2]
Step 1 :
chave = 3 //começando do 1º índice.
Resultado: [ 3 8 5 1 4 2 ]
Step 2 :
Resultado: [ 3 5 8 1 4 2 ]
Step 3 :
8>1 => [ 3 5 1 8 4 2 ]
5>1 => [ 3 1 5 8 4 2 ]
3>1 => [ 1 3 5 8 4 2 ]
Resultado: [ 1 3 5 8 4 2 ]
Step 4 :
8 > 4 => [ 1 3 5 4 8 2 ]
5 > 4 => [ 1 3 4 5 8 2 ]
Resultado: [ 1 3 4 5 8 2 ]
Step 5 :
8 > 2 => [ 1 3 4 5 2 8 ]
5 > 2 => [ 1 3 4 2 5 8 ]
4 > 2 => [ 1 3 2 4 5 8 ]
3 > 2 => [ 1 2 3 4 5 8 ]
Resultado: [1 2 3 4 5 8]
Propriedades:
Complexidade espacial: O(1)
Complexidade temporal: O(n), O(n*n), O(n*n) para o melhor, médio e pior
caso, respectivamente.
Melhor caso: o array já está ordenado.
Caso médio: o array está ordenado aleatoriamente.
Pior caso: o array está ordenado em ordem inversa.
Ordenação in loco: Sim
Estável: Sim
Perguntas?
27/03/2024