Binary search

In Chapter 13, Sorting and Searching Algorithms, we learned how to implement the binary using an iterative approach. If we go back and take a look at the algorithm, we can use the divide and conquer approach to implement the binary search as well. The logic is the following:

  • Divide: Calculate mid and search lower or upper half of the array
  • Conquer: Search value in the lower or upper half of the array
  • Combine: Not applicable as we are returning the index directly

The divide and conquer binary search algorithm is the following:

function binarySearchRecursive(  array, value, low, high, compareFn = defaultCompare) {  if (low <= high) {    const mid = Math.floor((low + high) / 2);    const element = array[mid]; if (compareFn(element, value) ...

Get Learning JavaScript Data Structures and Algorithms - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.