Búsqueda binaria en una colección de array
Disculpa el atrevimiento de escribirte pero me gustaría realizarte una consulta sobre una búsqueda binaria que estoy aplicando sobre una colección array. Mi aplicación consiste en llenar una colección Array con números aleatorios y ordeno los mismos antes de llamar al método de búsqueda pero no he logrado que me encuentre valores que si existen en la colección.
Mi método es el siguiente:
public void busquedaBinaria(int x)
{
int bajo = 0;
int alto = numeros.size() ;
int central = (int) ((bajo + alto) / 2);
boolean no_se_encontro = false;
while((bajo < alto) && numeros.get(central) != x)
{
if (x < numeros.get(central))
alto = central - 1;
else
bajo = central + 1;
central = (int) ((bajo + alto) / 2);
if(central == alto)
{
no_se_encontro = true;
break;
}
}
if(no_se_encontro = true)
{
System.out.println("Valor no encontrado");
}
else
System.out.println("Valor encontrado en posición " + central);
}
Desde ya disculpa mi atrevimiento y espero que cuando tengas un tiempo le puedas pegar un vistazo.
Mi método es el siguiente:
public void busquedaBinaria(int x)
{
int bajo = 0;
int alto = numeros.size() ;
int central = (int) ((bajo + alto) / 2);
boolean no_se_encontro = false;
while((bajo < alto) && numeros.get(central) != x)
{
if (x < numeros.get(central))
alto = central - 1;
else
bajo = central + 1;
central = (int) ((bajo + alto) / 2);
if(central == alto)
{
no_se_encontro = true;
break;
}
}
if(no_se_encontro = true)
{
System.out.println("Valor no encontrado");
}
else
System.out.println("Valor encontrado en posición " + central);
}
Desde ya disculpa mi atrevimiento y espero que cuando tengas un tiempo le puedas pegar un vistazo.
Respuesta de dimondi21
1