Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. /**
  2. Algoritmo de búsqueda binaria recursiva en Java
  3. @author parzibyte
  4. @web parzibyte.me/blog
  5. */
  6. public static int busquedaBinariaRecursiva(int[] arreglo, int busqueda, int izquierda, int derecha){
  7.  
  8. // Si izquierda es mayor que derecha significa que no encontramos nada
  9. if(izquierda > derecha){
  10. return -1;
  11. }
  12.  
  13. // Calculamos las mitades...
  14. int indiceDelElementoDelMedio = (int) Math.floor((izquierda + derecha) / 2);
  15. int elementoDelMedio = arreglo[indiceDelElementoDelMedio];
  16.  
  17. // Ver si está en la mitad
  18. if(elementoDelMedio == busqueda){
  19. return indiceDelElementoDelMedio;
  20. }
  21. // Si no, entonces vemos si está a la izquierda o derecha
  22.  
  23. if(busqueda < elementoDelMedio){
  24. derecha = indiceDelElementoDelMedio - 1;
  25. return busquedaBinariaRecursiva(arreglo, busqueda, izquierda, derecha);
  26. }else{
  27. izquierda = indiceDelElementoDelMedio + 1;
  28. return busquedaBinariaRecursiva(arreglo, busqueda, izquierda, derecha);
  29. }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement