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

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

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

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

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

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

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