Sobes.tech
Back to questions
Junior — Middle
56

Какова временная сложность алгоритма линейного поиска элемента в словаре?

Answer from AI

sobes.tech AI

В Python словарь (dict) реализован на основе хеш-таблицы, поэтому операции поиска элемента по ключу обычно имеют амортизированную временную сложность O(1) — константное время.

Однако, если говорить о линейном поиске (например, переборе всех элементов словаря для поиска по значению или по условию), то временная сложность будет O(n), где n — количество элементов в словаре.

Пример линейного поиска значения в словаре:

my_dict = {'a': 1, 'b': 2, 'c': 3}

# Поиск ключа по значению 2
for key, value in my_dict.items():
    if value == 2:
        print(f'Найден ключ: {key}')
        break

Здесь перебор всех элементов — линейная операция.