Overview
La búsqueda binaria parte en dos un arreglo ordenado hasta hallar el objetivo o agotar el rango.
Analogy
Como buscar una palabra en un diccionario: abre por la mitad, decide izquierda o derecha, repite.
Step-by-step
- low = 0, high = n-1.
- mid = (low + high) // 2.
- Si arr[mid] == target → devuelve mid.
- Si target < arr[mid] → high = mid - 1.
- Si no, low = mid + 1 mientras low <= high.
Visual
[1 3 5 7 9] → probar 5 → ir a la derecha → probar 7 → encontrado en índice 3.
Common mistakes
- No recalcular mid tras cambiar low/high.
- Usar < en el while y saltar el último elemento.
- mid = (low+high) puede desbordar; usar low + (high-low)//2.
Practice questions
- Traza en un arreglo de 7 elementos con objetivo en extremos y ausente.
- Devuelve índice de inserción si no se encuentra.
- Explica por qué debe estar ordenado; muestra un contraejemplo.