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, and repeating this until you find the word.
Array: [1] -> [3] -> [5] -> [7] -> [9] -> [11] -> [13] -> [15] -> [17] -> [19]
Indexes: 0 1 2 3 4 5 6 7 8 9
↑mid
Search range: low=0, high=9