В этой статье я хочу показать вам алгоритм бинарного поиска и его реализацию в Go. Что такое бинарный поиск? Бинарный поиск — это быстрый и простой алгоритм, который находит целевой элемент в отсортированном массиве путем многократного деления интервала поиска пополам. Несмотря на то, что код достаточно прост, в нём есть несколько ловушек. Учёный Йон Бентли утверждает, что 90 % студентов, разрабатывая бинарый поиск, забывают учесть какое-либо из этих требований. И даже в код, написанный самим Йоном и ходивший из книги в книгу, вкралась ошибка: код не стоек к переполнениям. Давайте посмотрим, как это делается: Начальный интервал поиска - весь массив Мы берем элемент в середине интервала и сравниваем его с целевым элемнтом. Если он меньше , мы сужаем интервал до верхней половины. В противном случае мы сужаем интервал до нижней половины. Повторяем вышеуказанные шаги до тех пор, пока интервалы не охватят только один элемент и не вернут индекс массива этого элемента. Сложность алгоритма (