Algorithm Visualizer

Algorithms

Binary Search

searching

Efficiently finds target value in sorted array by repeatedly dividing search space in half.

Complexity

  • Best:O(1)
  • Average:O(log n)
  • Worst:O(log n)
  • Space:O(1)

Key Operations

  • Compare middle element with target
  • Eliminate half of search space
  • Repeat until found or exhausted

Typical Use Cases

  • Finding element in sorted array
  • Finding insertion point
  • Search in rotated sorted array

Related Algorithms

Linear SearchTernary Search
func binarySearch(nums []int, target int) int {
    left, right := 0, len(nums)-1
    for left <= right {
        mid := left + (right-left)/2
        if nums[mid] == target {
            return mid
        } else if nums[mid] < target {
            left = mid + 1
        } else {
            right = mid - 1
        }
    }
    return -1
}