Допустим, что мы делим массив на две части при помощи операции div, т.е. целочисленного деления с недостатком.
1й шаг. [7,8,12,16,18] и [20,30,38,49,50]. Выбираем первый интервал.
2й шаг. [7,8] и [12,16,18]. Выбираем второй интервал.
3й шаг. [12] и [16,18]. Выбираем второй интервал.
4й шаг[16] и [18]. Выбираем второй интервал, поиск завершен.