Sucuuuu

Disponível somente no TrabalhosFeitos
  • Páginas : 3 (513 palavras )
  • Download(s) : 0
  • Publicado : 4 de junho de 2012
Ler documento completo
Amostra do texto
PROGRAMAÇÃO DE COMPUTADORES I
Aula 22 Algoritmos de busca em memória principal: Busca Binária Prof. Marcus Vinícius de Ávila Couto

2

Busca Binária
• Um mecanismo mais eficiente de busca é análogoàquele

utilizado ao procurar uma palavra no dicionário;
• Faz-se uma estimativa da posição aproximada da palavra e

abre-se na página estimada. Se a palavra não foi encontrada nessa página, pelo menossabe-se em que direção buscar, se mais adiante ou mais atrás no dicionário. O processo de estimar a nova página de busca repete-se até que a página com a palavra desejada seja encontrada;
• Essemecanismo de busca só é possível porque as palavras

estão ordenadas no dicionário. Se o dicionário mantivesse as palavras sem nenhuma ordem, apenas a busca linear seria possível. Da mesma forma, a buscaem uma lista de dados pode ser melhorada se seu conteúdo estiver ordenado.

3

Busca Binária
• O algoritmo de busca binária utiliza exatamente esse

princípio.
• No caso, a estimativa que é feitapara a posição a ser buscada

é a posição mediana do restante da lista que falta para ser analisado;
• No início, o restante é a tabela toda; assim, a primeira posição

analisada é a entrada no meio databela. Se não for a entrada buscada, analisa-se a metade que resta, ou a inferior (se a chave encontrada tem valor maior que a que se busca) ou a superior (em caso contrário). O procedimento assim serepete, até que se encontre a chave buscada ou que a busca se esgote sem encontrar essa chave.

4

Busca Binária
int Função buscaBinaria(int elemen, int V[], int N) int meio, inicio, fim; inicio = 1;fim = N; // Enquanto a parte restante for maior que zero Enquanto (inicio <= fim) faça meio = (inicio + fim) /2; Se (elemen < vet[meio]) Então fim = meio -1; // ajusta posição final Senão Se (elemen> vet[meio]) Então inicio = meio + 1; // ajusta posição inicial Senão retorna meio; Fim-Se; Fim-Enquanto; // Não encontrou retornar -1; Fim-Função;

5

Exercícios
1.
a)

Responda as seguintes...
tracking img