Mental Model
Binary search splits a sorted list in half to find a target quickly by checking the middle element and searching only the half that could contain the target.
Analogy: Imagine looking for a word in a dictionary by opening it in the middle, then deciding if you should look in the first half or the second half, repeating this until you find the word.
Sorted array: [1, 3, 5, 7, 9, 11, 13] Indexes: [0, 1, 2, 3, 4, 5, 6] Pointers: low -> 0, high -> 6, mid -> 3 (value 7)