Линейный поиск, бинарный поиск, поиск в деревьях и графах
Линейный поиск — простейший алгоритм поиска, который проверяет каждый элемент последовательно.
Бинарный поиск — эффективный алгоритм поиска в отсортированном массиве.
bisect.bisect_left(arr, val) и bisect.bisect_right(arr, val)def binary_search(arr, target):
left, right = 0, len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return -1 # не найденоdict — высокооптимизированная хэш-таблицаВыбор алгоритма поиска
Оптимизация поиска
bisect, dict)Анализ производительности
Вопросы ещё не добавлены
Вопросы для этой подтемы ещё не добавлены.