Встречается на собеседованиях • сегодня

Какие знаешь алгоритмы поиска

В Python распространены несколько алгоритмов поиска:

Линейный поиск
Простейший алгоритм, перебирает элементы последовательно.

python
def linear_search(arr, target):
    for i, item in enumerate(arr):
        if item == target:
            return i
    return -1

Бинарный поиск
Работает на отсортированных массивах, делит пополам на каждом шаге.

python
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)
O(1) в среднем случае благодаря хешированию.

Также существуют специализированные алгоритмы:

  • Интерполяционный поиск (для равномерно распределенных данных)
  • Поиск Фибоначчи (вариант бинарного)
  • Троичный поиск (для нахождения экстремумов)

Выбор зависит от структуры данных и требований к скорости/памяти.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы