Binary Search in JavaScript

What is binary search?

A binary search is a searching algorithm for finding an item from a sorted list of items. It works by repeatedly dividing in half the portion of the list that could contain the item until you’ve narrowed down the possible locations to just one. As compared to linear, binary search is much faster with Time Complexity of O(logN) whereas the linear search algorithm works in O(N) time complexity. The implementation of binary search can be done iteratively or recursively.

How can we implement a binary search in JavaScript? Let’s see an example.

Binary Search - LeetCode

Given a sorted (in ascending order) integer array nums of n elements and a target value, write a function to search target in nums. If target exists, then return its index, otherwise return -1.

Example 1:
Input: nums = [-1,0,3,5,9,12], target = 9
Output: 4
Explanation: 9 exists in nums and its index is 4
Example 2:
Input: nums = [-1,0,3,5,9,12], target = 2
Output: -1
Explanation: 2 does not exist in nums so return -1
Note:
1\. You may assume that all elements in nums are unique.
2\. n will be in the range [1, 10000].
3\. The value of each element in nums will be in the range [-9999, 9999].

#algorithms #divide-and-conquer #javascript #recursion #binary-search #programming

Binary Search in JavaScript
1.05 GEEK