Алгоритмы на Python

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

Линейный поиск работает и с неотсортированными данными.

Что такое линейный поиск?

Линейный поиск последовательно проверяет элементы от начала до совпадения или конца списка. Предварительная сортировка данных не требуется.

Как работает алгоритм

  1. Начать с индекса 0.
  2. Сравнить текущий элемент с искомым значением.
  3. При совпадении вернуть индекс, иначе продолжить.
  4. Вернуть -1 после последнего элемента, если совпадения нет.
Сложность: В среднем и худшем случае время O(n), дополнительная память O(1).

Визуализация: Линейный поиск в Python

O(n)

Нажимайте Запуск или Шаг, чтобы следить за сравнениями и перемещением данных.

Пример кода

Запустить код →
main.py
def linear_search(values, target):
    for index, value in enumerate(values):
        if value == target:
            return index
    return -1

print(linear_search([14, 3, 27, 8, 19], 8))

Ожидаемый результат

3

Как это работает

Каждый элемент сравнивается не более раза: время O(n), память O(1).

Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.

Практические задания

Изменяйте входные данные и проверяйте граничные случаи перед работой с большими наборами.

  1. Проверьте пустой ввод, один элемент и дубликаты.
  2. Выводите состояние после каждого шага.
  3. Сравните производительность с другим решением.
Запустить в Python IDE →