javascript binary search
const arr = [1, 3, 5, 7, 8, 9];
const binarySearch = (arr, x , start=0, end=arr.length) => {
// If the item does not exist, return -1
if(end < start) return -1;
// Calculate middle index of the array
let mid = Math.floor((start + end) / 2);
// Is the middle a match?
if(arr[mid] === x) return mid;
// Is the middle less than x
if(arr[mid] < x) return binarySearch(arr, x, mid+1, end);
// Else the middle is more than x
else return binarySearch(arr, x , start, mid-1);
}
binarySearch(arr, 7); // Returns 3
/* O(n) of binarySearch is log(n) */
4
8
function binarySearchIndex (array, target, low = 0, high = array.length - 1) {
if (low > high) {
return -1
}
const midPoint = Math.floor((low + high) / 2)
if (target < array[midPoint]) {
return binarySearchIndex(array, target, low, midPoint - 1)
} else if (target > array[midPoint]) {
return binarySearchIndex(array, target, midPoint + 1, high)
} else {
return midPoint
}
}
Thank you!
8
0
4
7
const binary = n.toString(2);
Thank you!
7
0
Are there any code examples left?
New code examples in category Javascript