Множество (Set)

Множество - это набор различных объектов. Это означает, что в нём нет повторяющихся объектов. [1,2,3] - множество, а [1,2,2,3,1] - не удовлетворяет определению.

Множество - это абстрактная структура данных и её можно реализовать несколькими способами. Но для начала определим поведения для этой абстракции.

Базовые операции:

Этот набор поведений определяет саму абстракцию.

Вспомогательные:

Это дополнительные функции. Они просто помогают пользоваться этой абстракцией.

Реализации

По определению, множество предоставляет только одну услугу - хранит только разные элементы. Порядок хранить оно не обязано, доступа по индексу тоже нет. Тогда на основе чего можно построить эту абстракцию?

Список

Мы можем создать множества на основе списка и просто проверять при каждой вставке в него то, есть ли в нём уже этот элемент или нет.

Преимущества: