Algoritmo de Búsqueda Binaria
Para comenzar la práctica de codificación, abre la Terminal/SSH y escribe node
. El algoritmo de búsqueda binaria se utiliza para encontrar el índice de un elemento dado en una matriz ordenada. Estos son los pasos para implementar el algoritmo de búsqueda binaria:
- Declara los límites de búsqueda izquierdo y derecho,
l
y r
, inicializados en 0
y la longitud
de la matriz respectivamente.
- Utiliza un bucle
while
para reducir repetidamente la submatriz de búsqueda dividiéndola por la mitad utilizando Math.floor()
.
- Si se encuentra el elemento, devuelve su índice. De lo contrario, devuelve
-1
.
- Tenga en cuenta que este algoritmo no tiene en cuenta los valores duplicados en la matriz.
A continuación, se muestra una implementación de ejemplo del algoritmo de búsqueda binaria en JavaScript:
const binarySearch = (arr, item) => {
let l = 0,
r = arr.length - 1;
while (l <= r) {
const mid = Math.floor((l + r) / 2);
const guess = arr[mid];
if (guess === item) return mid;
if (guess > item) r = mid - 1;
else l = mid + 1;
}
return -1;
};
Puedes probar la función binarySearch
con los siguientes ejemplos:
binarySearch([1, 2, 3, 4, 5], 1); // 0
binarySearch([1, 2, 3, 4, 5], 5); // 4
binarySearch([1, 2, 3, 4, 5], 6); // -1