AD

¿Ya dominas lo básico? Un curso estructurado de Go es la vía rápida para dar el salto.

Ver cursos de Go en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐹Lecciones de Go
Lección 33 / 68

El algoritmo de búsqueda binaria

En esta lección buscarás un valor en una lista ordenada descartando la mitad en cada paso.

Se mantienen dos límites, se mira el elemento central y se descarta la mitad donde el valor no puede estar. Go lo trae en sort.SearchInts() y en slices.BinarySearch().

El código de ejemplo busca un número y muestra su posición.

El requisito imprescindible es que los datos estén ordenados. Si no lo están, el resultado es incorrecto y no hay ningún aviso.

Cuidado con sort.SearchInts(): cuando el valor no está, no devuelve -1, sino la posición donde habría que insertarlo. Interpretar eso como «encontrado en esa posición» es un error frecuente. slices.BinarySearch(), más reciente, devuelve además un booleano que lo deja claro.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Go directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)