Binary Search
An efficient algorithm for finding a target value in a sorted array by repeatedly dividing the search interval in half.
Binary Search Visualization
range: [–, –]
SlowFast
🔊 Sound
ReadyGenerate an array and enter a target value to search.
MidActive rangeFoundEliminated↓ low↑ mid↓ high
Complexity
Time Complexity:
O(log n)Space Complexity:
O(1)Pseudocode
function binarySearch(arr, target):
left = 0
right = length(arr) - 1
while left <= right:
mid = floor((left + right) / 2)
if arr[mid] == target:
return mid
else if arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1