Una Implementación de Búsqueda Binaria
1 de diciembre de 2020 • 1 min de lectura

El algoritmo de búsqueda binaria busca rápidamente en un gran arreglo de números, a menudo se le conoce como divide y vencerás.
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;
}
}
↑ Volver arriba También te puede gustar
- Modificar un Archivo Localmente Sin Actualizar el Repositorio Git Remoto 1 min de lectura
- Los Beneficios de Usar un Framework de Construcción 2 min de lectura
- Herramientas y Recursos que Uso Comúnmente para Desarrollar Software 6 min de lectura