В python, реализуя алгоритм бинарного поиска, какая математическая функция оптимальна для определения среднего значения - пола или потолка?Алгоритм двоичного поиска - Python
ответ
Для реализации двоичного поиска в python вам не нужно использовать функцию ceil или floor. В зависимости от проблемы, вы должны округлить среднее значение вверх или вниз.
mid = low + (high-low)/2 #rounds down the mid value
mid = low + (high-low+1)/2 #rounds up the mid value
Попытайтесь решить эти две проблемы, вы получите представление о том, как это работает.
- Дан массив А и целевое значение, возвращает индекс первого элемента в А равно или больше, чем целевое значение
- Учитывая массив А и целевое значение, возвращают индекс последнего элемента который меньше целевого значения.
Сначала попробуйте эти проблемы самостоятельно, и если вы застряли, обратитесь к this.
Ваше использование комментария '//' для комментариев здесь немного запутанно. Я предлагаю использовать '//' для деления и '#' для комментариев. –
Вы на самом деле не нужно использовать CEIL или пол @shivam_mitra упоминается. При необходимости это алгоритм двоичного поиска.
def bSearch(L, e, low, high):
"""
L: is a sorted list
e: is the targeted number
low: is the lowest value of the list
hight: is the highest value of list
"""
if len(L) == 0: # empty list
return False
if high == low: # if the list is one element
return L[low] == e
mid = low + int((high - low)/2)
if L[mid] == e: # If the midpoint is the targeted number
return True
if L[mid] > e: # check if the number is in the lower half of the list
return bSearch(L, e, low, mid - 1)
else: # otherwire it is in the higher of the list
return bSearch(L, e, mid + 1, high)
- 1. Рекурсивный алгоритм двоичного поиска - Python
- 2. Алгоритм двоичного поиска в python
- 3. Алгоритм поиска двоичного дерева
- 4. Алгоритм двоичного поиска C++
- 5. Неэффективный алгоритм двоичного поиска дерева Сбалансированный алгоритм
- 6. Алгоритм двоичного поиска не работает
- 7. Алгоритм двоичного поиска с интервалом
- 8. Рекурсивная функция двоичного поиска Python
- 9. Функция двоичного поиска python
- 10. Код Python для двоичного поиска Алгоритм не компилируется
- 11. Алгоритм двоичного поиска с 2 ключами для индексирования в python
- 12. Алгоритм двоичного поиска со строковым массивом
- 13. алгоритм по оптимизации двоичного дерева поиска
- 14. Застревание по назначению java, алгоритм двоичного поиска
- 15. Алгоритм двоичного поиска C++ не работает
- 16. Python Тернарный алгоритм поиска
- 17. Вставка двоичного дерева поиска Python
- 18. Обход двоичного дерева поиска Python
- 19. Python Dictionary Дерево двоичного поиска
- 20. Реализация дерева двоичного поиска (Python)
- 21. Алгоритм вставки двоичного дерева
- 22. Генетический алгоритм Python для двоичного числа
- 23. Объединение дерева двоичного поиска
- 24. Действия двоичного поиска дерева
- 25. Алгоритм двоичного поиска ничего не возвращает при работе со строками
- 26. Python 'in' алгоритм поиска операторов
- 27. Алгоритм поиска переходов в Python
- 28. Python двойного переменного алгоритм поиска
- 29. Python - Алгоритм поиска временных интервалов
- 30. Создание дерева двоичного поиска
оптимальный способ? –
Выполняются ли эти численные значения? Или это общий бинарный поиск? –
Python имеет встроенный модуль [** 'bisect' **] (https://docs.python.org/2/library/bisect.html), который имеет [примеры поиска отсортированного списка] (https: // docs .python.org/2/библиотека/bisect.html # поиск отсортированные-листы). –