Publicaciones
Una implementación de búsqueda binaria
2 de diciembre de 2020 • 1 min de lectura
El algoritmo de búsqueda binaria busca rápidamente en una gran matriz de números, a menudo se le conoce como divide y conquista.
public class BinarySearch
{
public int BinarySearch(int[] items, int searchValue)
{
int left = 0;
int right = items.Length - 1;
while (left <= right)
{
var middle = (left + right) / 2;
//If the searchValue is in the center, we found it!
if(items[middle] == searchValue)
{
return middle;
}
//If the searchValue is less than the current middle, we set the right to (middle - 1)
//Because the searchValue is in the lower half of the items.
if(searchValue < items[middle])
{
right = middle - 1;
}
//If the searchValue is greater than the current middle, we set the right to (middle + 1)
//Because the searchValue is in the higher half of the items.
else
{
left = middle + 1;
}
} // now that we've either found the item and returned it or we've reset our search boundaries
// we'll search it again.
// Not found.
return -1;
}
} Autor: Chuck Conway es un Ingeniero de IA con casi 30 años de experiencia en ingeniería de software. Construye sistemas de IA prácticos—canalizaciones de contenido, agentes de infraestructura y herramientas que resuelven problemas reales—y comparte lo que está aprendiendo en el camino. Conéctate con él en redes sociales: X (@chuckconway) o visítalo en YouTube y en SubStack.