DSA — Searching Algorithms
Binary Search
Halve the search space each step by comparing target with the middle element. Requires a sorted array. Efficiency: O(log n).
O(log n)Time
O(1)Space
SortedRequired
Divide& Conquer
✓Interview Fav
01Step-by-Step Search
Array must be sorted. Press Find.
Logic
Python
Practice
01
Initial Range
Set `lo = 0` and `hi = n - 1`.
02
Middle Check
Calculate `mid = (lo + hi) // 2`. If `arr[mid] == target`, done!
03
Divide
If target is larger, search right half (`lo = mid + 1`). Otherwise, search left half (`hi = mid - 1`).
def binary_search(arr, target):
lo, hi = 0, len(arr) - 1
while lo <= hi:
mid = (lo + hi) // 2
if arr[mid] == target: return mid
elif arr[mid] < target: lo = mid + 1
else: hi = mid - 1
return -1
Search Mastery0 / 3 solved
#01Search in Rotated SortedGoogle
#02First and Last PositionMeta
#03Search Insert PositionZomato