Skip to content

Instantly share code, notes, and snippets.

View mredigonda's full-sized avatar
🇦🇷
Argentina

Maximiliano Redigonda mredigonda

🇦🇷
Argentina
View GitHub Profile
@mredigonda
mredigonda / binary_search.cpp
Created July 18, 2024 14:57
Búsqueda Binaria (receta)
// Asumiento que quiero hacer una búsqueda binaria en el rango [0, n)
// Sabemos que la propiedad/predicado P dentro del rango es una de estas:
// Caso 1) 0 0 0 0 0 0 ... 1 1 1 1 1 1 (comienza false, pero una vez que se vuelve true, se mantiene true)
// Caso 2) 1 1 1 1 1 1 ... 0 0 0 0 0 0 (comienza true, pero una vez que se vuelve false, se mantiene false)
// Declaramos las "fronteras", una izquierda y una derecha, ambas comienzan FUERA del rango de búsqueda
int a = -1; // extremo izquierdo del rango de búsqueda -1
int b = n; // extremo derecho del rango de búsqueda +1
while(b - a > 1) { // mientras que la distancia entre las fronteras sea >1 (es decir, mientras que no estén contiguas)