Repeatedly halves a sorted range, checking the middle element against the target.
Binary search requires sorted data — your array is sorted automatically before searching.