Documentoartigos sobrre herança e polimorfismo em java
1423 palavras
6 páginas
MÉTODOS DE PESQUISAComo dito no início deste artigo “ordenar é preciso”. Se uma base de dados ou matriz está ordenada, nada melhor que aplicar os métodos corretos de pesquisa a mesma. E os algoritmos para pesquisa são muitos. Porém é possível destacar os dois principais e mais utilizados: Busca/Pesquisa Seqüencial e Busca/Pesquisa Binária
BUSCA SEQUÊNCIAL
O algoritmo Busca Seqüencial executa a pesquisa de um elemento em uma matriz comparando-o aos elementos da matriz um após o outro até obter o resultado “verdadeiro” ou chegar ao fim da matriz. Este tipo de busca só é viável se a matriz (lista) for pequena (ou média) e/ou não estiver ordenada. Devido ao seu modo de operação, a mesma costuma consumir tempo. O box abaixo mostra um exemplo desenvolvido na Linguagem C (hipotético).
Segmento de código exemplo para Busca Seqüencial
//***************************************************************************
// Função seek_seq – Realiza uma busca em uma matriz usando o algoritmo
//busca seqüencial
//
// Esta função requer a criação da matriz em modo global, assim como
// a definição do número máximo de elementos da mesma (ELEMENTOS_MATRIZ)
//
// Entradas – valor a ser procurado
// Saídas - nenhuma
//***************************************************************************
void seek_seq(unsigned int busca){
found = FALSE; i = 0;
while ((i < ELEMENTOS_MATRIZ) && (!found)){ if (MATRIZ[I] == busca) found = TRUE; else i++;
}
if (i < ELEMENTOS_MATRIZ) printf(“Valor encontrado na matriz %d\n”,i); else printf(“Valor não encontrado”);
}
BUSCA BINÁRIA
A busca binária só deve ser executada em matrizes (listas) previamente ordenadas, seja no modo crescente ou decrescente. A pesquisa binária divide por dois a lista analisada e compara o valor. Se o valor central for maior que o objeto da pesquisa, o algoritmo divide novamente a lista em dois, desta vez considerando apenas a parte central e o topo da lista. Se o valor central for menor, a nova divisão