- Принцип бинарного поиска:
1 | Mas[0] | Mas[1] | Mas[2] | Mas[3] | Mas[4] | Mas[5] | Mas[6] | Mas[7] | Mas[8] | Mas[9] |
left |
|
|
| mind |
|
|
|
| right | |
2 | Mas[0] | Mas[1] | Mas[2] | Mas[3] |
|
|
|
|
|
|
left | mind |
| right |
|
|
|
|
|
| |
3 |
|
| Mas[2] | Mas[3] |
|
|
|
|
|
|
|
| left/mind | right |
|
|
|
|
|
|
Пример. Составьте программу двоичного поиска в отсортированном массиве | |
Программный код | Пояснение |
boolstatus = False | Флаг: найден элемент или нет |
l = 0 | Левая/правая границы поиска |
mid = 0 while (l <= r) and (boolstatus != True): if mas [mid] == key: boolstatus = True | Проверка значения элемента, который находится в середине текущего массива |
if mas [mid] > key: r = mid - 1 | Выбор левой/правой половины массива для дальнейшей работы алгоритма |