Estrutura de Dados
  • Programação e Estrutura de Dados
  • Estrutura de Dados
    • 1. Vetores e Matrizes
      • Vetores
      • Matrizes
      • Listas de Exercícios
    • 2. Listas Lineares
      • Lista Encadeada Simples
      • Lista Duplamente Encadeada
    • 3. Pilhas
      • Visão Geral
      • Operações
        • Criação de Pilhas
        • Inserção de elementos
        • Remoção de elementos
        • Impressão, topo e tamanho da pilha
      • Exemplo
    • 4. Filas
      • Visão Geral
      • Operações
        • Criação das Filas
        • Inserção de Elementos
        • Remoção de Elementos
        • Impressão, inicio e final da fila
      • Exemplo
    • 5. Recursividade
      • Visão geral
      • Exemplos
        • Execução do Algoritmo de Fibonacci Recursivo
    • 6. Algoritmos de Busca
      • Busca Sequencial
      • Busca Binária
      • Exemplos
    • 7. Algoritmos de Ordenação
      • Ordenação
      • Bubble Sort
      • Selection Sort
      • Insertion Sort
      • Merge Sort
      • Quicksort
    • 8. Árvores
      • Introdução
      • Árvores Binárias
      • Árvores Binárias de Busca
      • Árvores AVL
    • 9. Indexação e Hashing
    • 10. Grafos
  • Programação Orientada a Objetos
    • 1. Introdução a Orientação a Objetos
Powered by GitBook
On this page

Was this helpful?

  1. Estrutura de Dados

6. Algoritmos de Busca

Você certamente já realizou algum tipo de pesquisa por algum elemento que satisfaça uma condição desejada. Considere agora o seguinte problema: é preciso encontrar um nome em uma lista telefônica. Sair folheando as páginas indiscriminadamente seria uma atitude pouco eficaz. De forma instintiva, procuramos o nome abrindo a lista aproximadamente na metade, um pouco mais, ou pouco menos, de acordo com a inicial do nome. Se os nomes que aparecem têm suas iniciais maiores que a do nome que estamos procurando, imediatamente dividimos as folhas da esquerda e, caso contrário, dividimos as folhas da direita. Essa operação de dividir a lista é realizada até que nos tenhamos aproximado do nome desejado e, assim podemos folhear as páginas para encontrá-lo. Esse é um método muito eficaz para realizar uma pesquisa, mas, para isso, as informações devem estar ordenadas.

Procurar informações em um conjunto desordenado demanda uma operação pouco produtiva, pois é preciso “olhar” cada um dos elementos até encontrar o desejado e, caso ele não exista, todos os elementos terão sido consultados.

Buscar é uma atividade com a finalidade de encontrar se existe ou não elementos em um conjunto. Nesta seção, serão apresentados alguns algoritmos de busca em um conjunto de dados ordenado: busca sequencial e busca binária. A eficiência de cada um está na posição em que o dado pesquisado se encontra, o que poderá ser avaliado após conhecer os algoritmos.

Objetivos

  • Identificar a estruturação de pesquisas para se obter a informação desejada no menor tempo possível;

  • Reconhecer a importância do ordenamento de dados;

  • Elaborar a implementação de alguns algoritmos de busca como a busca sequencial e a busca binária em conjunto de dados ordenado

PreviousExecução do Algoritmo de Fibonacci RecursivoNextBusca Sequencial

Last updated 4 years ago

Was this helpful?