Вопросы с тегом «binary-search»

177
Бинарный поиск (бисекция) в Python

Есть ли библиотечная функция, которая выполняет бинарный поиск по списку / кортежу и возвращает позицию элемента, если он найден, и «Ложь» (-1, нет и т. Д.), Если нет? Я нашел функции bisect_left / right в модуле bisect , но они по-прежнему возвращают позицию, даже если элемент отсутствует в...

144
как рассчитать сложность бинарного поиска

Я слышал, как кто-то сказал, что поскольку бинарный поиск делит пополам входные данные, необходимые для поиска, то это алгоритм log (n). Так как я не имею математического образования, я не могу иметь к нему отношение. Может кто-нибудь объяснить это немного подробнее? это имеет отношение к...

112
Оптимальным образом найти k-й наименьший элемент в двоичном дереве поиска

Мне нужно найти k-й наименьший элемент в двоичном дереве поиска без использования какой-либо статической / глобальной переменной. Как этого добиться эффективно? Решение, которое я имею в виду, - это выполнение операции за O (n), наихудший случай, поскольку я планирую выполнить обход всего дерева по...

107
Где я могу найти «полезный» алгоритм двоичного поиска C ++?

Мне нужен алгоритм двоичного поиска, совместимый с контейнерами C ++ STL, что-то вроде заголовка std::binary_searchстандартной библиотеки <algorithm>, но мне нужно, чтобы он возвращал итератор, указывающий на результат, а не простое логическое значение, сообщающее мне, существует ли элемент....

107
Как найти k-й наименьший элемент в объединении двух отсортированных массивов?

Это вопрос домашнего задания. Они говорят, что принимает O(logN + logM)где Nи Mявляются длинами массивов. Назовем массивы aи b. Очевидно, мы можем игнорировать все a[i]и b[i]где i> k. Сначала сравним a[k/2]и b[k/2]. Пусть b[k/2]> a[k/2]. Поэтому мы можем отбросить и все b[i], где i> k / 2....