Изменения

Перейти к: навигация, поиск

Целочисленный двоичный поиск

241 байт убрано, 23:49, 11 июня 2012
Код
== Код ==
<pre> BinSearch(l = 0; , r) // l , r - левая граница r = n + 1; // r - и правая границаграницы while l < r - 1 // запускаем цикл m = (l + r) / 2; // m - середина области поиска if a[m] < k l = m; else r = m; // сужение границ if a[r] = k result = r; // выводим найденный индекс else result = -1; // если элемент не найден возвращаем -1
</pre>
В случае правостороннего поиска изменится знак сравнения при сужении границ на (a[m] <= k), также при выводе найденного индекса, мы сравниваем искомый элемент k с a[l].
Анонимный участник

Навигация