30/03/2015
Em java há vários meios (algoritmos) para recuperar os dados, entre eles temos a pesquisa sequencial, pesquisa binária e pesquisa ternária. Será mostrado um algoritmo em java de pesquisa binária que é mais eficiente, quando falamos de elementos ordenados, em vez de cab, temos abc uma ordem de elementos.
O cálculo da posição média é feito com A EXPRESSÃO:
medi = (mini + max)/2 só que esta expressão dá overflow. A forma eficiente de calcular média é dada pela EXPRESSÃO:
medi = (mini + max) >>> 1;
static int pesquisaBinaria (int [] pSeq, int pInicio, int pFim, int pval);
{
int mini = pInicio, max = pFim, medi;
while (mini <= max)
{
medi = (mini + max) >> 1; //cálculo da posição média
if( (pSeq [medi] < pval) mini = medi + 1;
else if (pSeq [medi] > pval) max = med -1;
else return medi;
}
return -1; // pesquisa sem sucesso
}
Obs: este algoritmo só funciona quando temos uma sequência ordenada dos elementos
Esta apresentação reflete a opinião pessoal do autor sobre o tema, podendo não refletir a posição oficial do Portal Educação.
Principais Qualificações Analista de Sistemas e Escritor Formação SUPERIOR CURSANDO: Analise e Desenvolvimentismo de Sistemas. Game Developer Inglês Avançado. Informática Linguagens de Programação C++, Java, Delphi C#, Javascript e PHP
UOL CURSOS TECNOLOGIA EDUCACIONAL LTDA, com sede na cidade de São Paulo, SP, na Alameda Barão de Limeira, 425, 7º andar - Santa Cecília CEP 01202-001 CNPJ: 17.543.049/0001-93