Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
• Operações críticas:
• (1) comparação entre chaves;
• (2) movimentação de registros ou de ponteiros para
registros;
• (3) troca de dois registros.
Algoritmos de Ordenação
• Movimentações – M(n)
M (n) 3C (n)
Ordenação por Bolha
• Vantagens:
• Algoritmo simples
• Algoritmo estável
• Desvantagens:
• O fato de o arquivo já estar ordenado não ajuda em
nada, pois o custo continua quadrático.
Classificação de dados por Troca:
Quick Sort
• Caracteriza-se pela comparação aos pares de
chaves, trocando-as de posição caso estejam fora
de ordem no par.
Padrão de Projeto do QuickSort
85 24 63 45 17 31 96 50 17 24 31 45 50 63 85 96
24 45 17 31 85 63 96 17 24 31 45 63 85 96
24 17 45 85 63 17 24 45 63 85
24 85 24 85
Vetor Inicial : C [ 1 .. n ]
1 n
Vetor Particionado
1 k-1 k k+1 n
S1 S2 S3
onde: C [ i ] C [ k ] , para i = 1, … , k - 1
C [ i ] > C [ k ] , para i = k + 1 , … , n
Princípio de Classificação/Ordenação
• O particionamento é reaplicado aos segmentos S1 e S3 e a todos
os segmentos correspondentes daí resultantes com quantidade
de chaves MAIOR que 1.
• Perguntas:
• Qual é o pivô ideal ?
• Como escolher este pivô ?
QuickSort (Escolha do pivô)
4 7 8 10 14 21 22 36 62 77 81 91
22 >21, inicio = meio +1
inicio meio fim
6 8 11
4 7 8 10 14 21 22 36 62 77 81 91
22 < 62, fim= meio -1
inicio meio fim
6 6 7
4 7 8 10 14 21 22 36 62 77 81 91
22 = 22, o elem está na posição meio