Перейти к основному содержанию
EDU-MMCS
  • В начало
  • Дополнительно
Вы используете гостевой доступ
Вход
В начало
  1. Prog_2_4
  2. Лабораторная работа 3. Бинарный поиск

Лабораторная работа 3. Бинарный поиск

Требуемые условия завершения
Открыто с: вторник, 18 февраля 2025, 00:00
Срок сдачи: понедельник, 24 февраля 2025, 00:00

Бинарный поиск — это эффективный алгоритм поиска элемента в отсортированном массиве. Он работает по принципу разделяй и властвуй:

  1. Находим средний элемент массива.
  2. Если искомый элемент равен среднему — нашли
  3. Если меньше, продолжаем поиск в левой половине.
  4. Если больше, продолжаем в правой половине.
  5. Повторяем процесс, пока не найдем элемент или массив не станет пустым.

Сложность алгоритма

  • В худшем случае: O(log⁡N)
  • В лучшем случае: O(1) (если элемент найден сразу)
  • В среднем случае: O(log⁡N)

Задания

1. Напишите функцию, которая принимает отсортированный массив и число x, а затем возвращает его индекс (или -1, если числа нет в массиве)

2. Массив может содержать повторяющиеся числа. Напишите бинарный поиск, который находит индекс первого появления числа.

3. Допустим, есть массив [1, 2, 2, 2, 3, 4].
Нужно найти левую и правую границу числа 2, то есть 1 и 3.

4. Напишите функцию sqrt(n), которая находит целочисленный квадратный корень числа n с помощью бинарного поиска.

5. Используйте бинарный поиск для нахождения слова в отсортированном списке строк (например, в словаре).

NB! Все решения оформлять в виде функций и использовать исключения

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика
На платформе Moodle