Binary Search

Efficient search algorithm for sorted arrays

* Array will be automatically sorted

Algorithm Code

Time: O(log n) | Space: O(1)

1function binarySearch(arr, target) {
2  left = 0
3  right = arr.length - 1
4  
5  while (left <= right) {
6    mid = Math.floor((left + right) / 2)
7    
8    if (arr[mid] === target) {
9      return mid
10    } else if (arr[mid] < target) {
11      left = mid + 1
12    } else {
13      right = mid - 1
14    }
15  }
16  return -1
17}

Algorithm Steps

Step 1 of 3

1

Initializepointers: left=0, right=6

2

Calculate mid = Math.floor((0 + 6) / 2) = 3. Check arr[3] = 7

3

Target 7 found at index 3!

Binary Search

Target: 7

Left: 0 | Mid: None | Right: 6

LEFT
1
[0]
3
[1]
5
[2]
7
[3]
9
[4]
11
[5]
RIGHT
13
[6]
Left Bound
Mid Point
Right Bound
Found
Excluded
Step 0 of 20%
0.25x4x