Algorithmsbasics

Binary Search Basics for Students

TT
Testlaa Team
May 14, 20261 min read

Binary search is not magic: it only works when answers line up in order so you can discard half of the search space each step. First we learn the loop pattern: keep two borders lo and hi, look at the middle, and move the border that cannot contain the answer.

Try this in Python

def binary_search_exists(sorted_arr: list[int], target: int) -> bool:
    lo, hi = 0, len(sorted_arr) - 1
    while lo <= hi:
        mid = (lo + hi) // 2
        v = sorted_arr[mid]
        if v == target:
            return True
        if v < target:
            lo = mid + 1
        else:
            hi = mid - 1
    return False


print(binary_search_exists([1, 3, 5, 9, 11], 9))

Key takeaways

  • Need sorted order (or monotone predicate).
  • Watch while lo <= hi vs half-open variants; pick one style and stay consistent.
  • Integer mid uses (lo + hi) // 2 in Python (fine for student sizes).

Tags:

Binary searchPythonStudents