4. O que vamosaprender?
Técnicas
# Pesquisa
# Ordenação
# Comparação dos algoritmos
21:30 Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
7. Busca
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Busca
Recuperação de dados armazenados em um repositório ou base de
dados
Tipo de busca depende dos dados
Dados estão estruturados (vetor, lista, árvore)
Dados ordenados (ou não ordenados)
Valores duplicados
8. Tiposde buscae métodosabordados
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Busca
Dados armazenados em um vetor
Dados ordenados
Métodos
Busca Linear
Busca Ordenada
Busca Binária
18. Ordenação
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Ordenar corresponde ao processo de rearranjar um conjunto
deobjetosem ordem ascendente ou descendente
O objetivo principal da ordenação é facilitar a recuperação
posteriorde itens do conjunto ordenado
As ordens mais utilizadas são a numérica e lexicográfica
Existem diversos algoritmos de ordenação!
19. Ordenação
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
O problema da ordenação consiste em rearranjar um
vetor 𝑣[0. . 𝑛1] em ordem crescente
Ou seja, permutar os elementos do vetor de modo que
tenhamos 𝑣[0] ≤ 𝑣[1] ≤ . . . ≤ 𝑣[𝑛 − 1].
20. O Problemada Separação
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Rearranjar um vetor 𝑣[𝑝. . 𝑟] de modo que todos os
elementos pequenos fiquem na parte esquerda do vetor
e todos os elementos grandes fiquem na parte direita
22. OrdenaçãocomBubbleSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
O principio do bolha é a troca de valores entre posições
consecutivas fazendo com que os valores mais altos
“borbulhem” para o final do vetor.
Pior caso = 𝑂(𝑛²)
Melhor caso = 𝑂(𝑛)
Não recomendado para grandes conjuntos de dados
29. OrdenaçãocomInsertionSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Em cada passo, a partir do 𝑖 = 2, o
I-ésimo elemento da sequência fonte
é apanhado e transferido para a
sequência destino, sendo inserido no
seu lugar apropriado.
35. OrdenaçãocomSelectionSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Procura-se o 1º menor e se posiciona na 1ª posição
Procura-se o 2º menor e se posiciona na 2ª posição
...
Pior caso = 𝑂(𝑛²)
Melhor caso = 𝑂(𝑛²)
45. OrdenaçãocomMergeSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Idéiabásica: Dividir e Conquistar
Divide, recursivamente, o conjunto de dados até que
cada subconjunto possua 1 elemento
Melhor caso: 𝑂(𝑛𝑙𝑜𝑔𝑛)
Pior caso: 𝑂(𝑛𝑙𝑜𝑔𝑛)
55. OrdenaçãocomQuickSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Ordenação por troca de partições
Dividir e Conquistar
Um elemento é escolhido como pivô
Valores menores que o pivô são colocados antes dele e os
maiores, depois
Melhor caso: 𝑂(𝑛𝑙𝑜𝑔𝑛)
Pior caso (raro): 𝑂(𝑛2
)
62. OrdenaçãocomHeapSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Heap: vetor que simula uma árvore binária completa (exceção
do último nível)
Todo elemento pai do vetor possui dois elementos como filhos
pai(i) -> filhos: (2 ∗ 𝑖 + 1) e (2 ∗ 𝑖 + 2)
63. OrdenaçãocomHeapSort
21:30
Estrutura de Dados: Aula 14 – Técnicas de Pesquisa e Ordenação
Todo elemento pai do vetor possui dois elementos como filhos
pai(i) -> filhos: (2 ∗ 𝑖 + 1) e (2 ∗ 𝑖 + 2)