Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: complexity, set, algorithm

Какая сложность нахождения одинаковых ключей в двух множествах разной длины?

Этот вопрос проверяет понимание временной сложности операций с множествами и оптимизации поиска пересечений.

Короткий ответ

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

Длинный ответ

Операция поиска пересечения двух множеств (set intersection) оптимизирована за счет использования хэш-таблиц. Вместо проверки всех возможных пар элементов используется принцип хэширования для быстрого поиска.

Алгоритм работы:

  • Берется меньшее множество для итерации по его элементам

  • Для каждого элемента проверяется наличие в большем множестве

  • Проверка выполняется за O(1) в среднем случае благодаря хэш-таблице

Пример:

set1 = {1, 2, 3, 4, 5}  # размер n = 5
set2 = {4, 5, 6, 7}     # размер m = 4

# Алгоритм возьмет set2 (меньшее) и проверит каждый элемент в set1
intersection = set1 & set2  # {4, 5}

Сложность:

  • Временная сложность: O(min(n, m))

  • Пространственная сложность: O(k), где k — размер результата

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    5

Навыки

  • Python

    Python

Ключевые слова

#complexity

#set

#algorithm

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.