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

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

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

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

Помогите пожалуйста понять как pythonу удаётся почти моментально найти удаляемый элемент в случае с множеством
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 1
@deliro
Множество — это почти тот же словарь. Там та же самая хэш-таблица. Только значений нет, есть только ключи. Соответственно, алгоритм поиска тот же — вычисляем хэш элемента, по нему определяем индекс в хэш-таблице за константное время и помечаем элемент как удалённый.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
31 янв. 2025, в 09:18
10000 руб./за проект
31 янв. 2025, в 08:29
1000 руб./в час
31 янв. 2025, в 06:03
9999999 руб./за проект