Линейный поиск

Перебор элементов по очереди до совпадения.

СигнатураO(n)

Линейный поиск проверяет элементы один за другим, пока не найдёт нужный или не дойдёт до конца. Не требует сортировки и работает на любой последовательности.

Сложность: время O(n) в худшем и среднем случае, O(1) в лучшем. Память: O(1). Простейший вариант поиска; уступает бинарному на отсортированных данных.

def linear_search(a, target):
    for i, x in enumerate(a):
        if x == target:
            return i      # индекс найденного
    return -1             # не найдено

print(linear_search([4, 2, 7, 1], 7))  # 2
← Все записи: Алгоритмы и структуры данных
Поддержать проект