Finds the index of a given element in a sorted array using the binary search algorithm.
l
and r
, initialized to 0
and the length
of the array respectively.while
loop to repeatedly narrow down the search subarray, using Math.floor()
to cut it in half.-1
.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;
};
binarySearch([1, 2, 3, 4, 5], 1); // 0
binarySearch([1, 2, 3, 4, 5], 5); // 4
binarySearch([1, 2, 3, 4, 5], 6); // -1
JavaScript, Algorithm
Finds the first index of a given element in an array using the linear search algorithm.
JavaScript, Algorithm
Sorts an array of numbers, using the heapsort algorithm.
JavaScript, Algorithm
Sorts an array of numbers, using the bucket sort algorithm.