Множество - это набор различных объектов. Это означает, что в нём нет повторяющихся объектов. [1,2,3]
- множество, а [1,2,2,3,1]
- не удовлетворяет определению.
Множество - это абстрактная структура данных и её можно реализовать несколькими способами. Но для начала определим поведения для этой абстракции.
Этот набор поведений определяет саму абстракцию.
Это дополнительные функции. Они просто помогают пользоваться этой абстракцией.
По определению, множество предоставляет только одну услугу - хранит только разные элементы. Порядок хранить оно не обязано, доступа по индексу тоже нет. Тогда на основе чего можно построить эту абстракцию?
Мы можем создать множества на основе списка и просто проверять при каждой вставке в него то, есть ли в нём уже этот элемент или нет.
Преимущества: