Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- Algoritmo de búsqueda binaria recursiva en Java
- @author parzibyte
- @web parzibyte.me/blog
- */
- public static int busquedaBinariaRecursiva(int[] arreglo, int busqueda, int izquierda, int derecha){
- // Si izquierda es mayor que derecha significa que no encontramos nada
- if(izquierda > derecha){
- return -1;
- }
- // Calculamos las mitades...
- int indiceDelElementoDelMedio = (int) Math.floor((izquierda + derecha) / 2);
- int elementoDelMedio = arreglo[indiceDelElementoDelMedio];
- // Ver si está en la mitad
- if(elementoDelMedio == busqueda){
- return indiceDelElementoDelMedio;
- }
- // Si no, entonces vemos si está a la izquierda o derecha
- if(busqueda < elementoDelMedio){
- derecha = indiceDelElementoDelMedio - 1;
- return busquedaBinariaRecursiva(arreglo, busqueda, izquierda, derecha);
- }else{
- izquierda = indiceDelElementoDelMedio + 1;
- return busquedaBinariaRecursiva(arreglo, busqueda, izquierda, derecha);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement