Задать вопрос
@zlodiak

Как происходит удаление из множества?

Известно, что чтобы удалить элемент из списка(list.remove(3)), возможно, придётся пройтись по всем его элементам. следовательно сложность рассчитывается как O(N)

Но сложность удаления элемента из множества(set.remove(3)), рассчитывается как O(1). Это мне не понятно, потому что множество так же как и список является неупорядоченной последовательностью.

Помогите пожалуйста понять как pythonу удаётся почти моментально найти удаляемый элемент в случае с множеством
  • Вопрос задан
  • 129 просмотров
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Решения вопроса 1
@deliro
Множество — это почти тот же словарь. Там та же самая хэш-таблица. Только значений нет, есть только ключи. Соответственно, алгоритм поиска тот же — вычисляем хэш элемента, по нему определяем индекс в хэш-таблице за константное время и помечаем элемент как удалённый.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы