Professional Documents
Culture Documents
Exercicios - Algoritmos de Ordenação e Busca
Exercicios - Algoritmos de Ordenação e Busca
1. Descreva, com suas palavras, qual a característica que diferencia os Algoritmos de Ordenação do tipo
Troca, Seleção, Inserção e Distribuição.
2. O que é um algoritmo de ordenação adaptativo e por que é desejável o uso desses algoritmos de
ordenação?
3. Use o método Quick Sort para ordenar esse array de Strings (escolha como pivô, sempre o elemento
do meio da sequência).
Janeiro – Fevereiro – Março – Abril – Maio – Junho – Julho – Agosto – Setembro – Outubro – Novembro – Dezembro
a) Sequência: Algoritmos:
10, 9, 8, 7, 6, 5, 4 Distribuição de Chaves e Seleção Direta
b) Sequência: Algoritmos:
2000, 10, 13324, 2500 Radix Sort e Inserção Direta
c) Sequência: Algoritmos:
50, 15, 30, 40, 10, 5 Shell Sort (h= 2, 1) e Bolha
d) Sequência: Algoritmos:
11, 21, 13, 34, 25, 63 Mergesort e Heapsort
6. (A) Utilize os algoritmos de ordenação estudados em sala de aula (LISTAGEM 1) para ordenar as
seguintes sequências (LISTAGEM 2). (B) Para cada par (Algoritmo, Sequência), realize uma contagem de
quantas comparações e quantas trocas de posição foram realizadas. (C) Ao fim, compare a quantidade
de comparações e trocas de cada algoritmo para cada tipo de sequência e destaque qual (quais)
algoritmo (s) é (são) mais indicado (s) quando a sequência for a Ordenada, Aleatória ou Descendente.
LISTAGEM 1: LISTAGEM 2:
• Bubble Sort (Bolha) • (Ordenado) 10, 20, 30, 40, 50
• Quick Sort • (Descendente) 50, 40, 30, 20, 10
• Selection Sort (Seleção • (Aleatório) 50, 20, 30, 10, 40
direta)
• Heap Sort
• Insertion Sort (Inserção
direta)
• Shell (h=3, 2, 1)
• Distribuição de Chaves
• Radix Sort
• Merge Sort