
Структуры данных — это просто специализированные форматы для организации и хранения данных. Они крайне необходимы для разработки программного обеспечения, поэтому их правильный выбор очень важен.
“Плохие программисты беспокоятся о коде. Хорошие программисты беспокоятся о структурах данных и отношениях между ними”, — Линус Торвальдс, создатель Linux.
Одна из важнейших характеристик в выборе правильной структуры — ее нотация О большое.
Что такое нотация О большое? Это язык описания производительности алгоритма и его масштабирования (не важно, насколько он быстрый).
Существует множество статей о структурах данных. В этой я сконцентрируюсь на реализации на Python, потому что:
- Нет единого материала о временной сложности структур данных.
- У меня несколько разных структур данных.
- Временная сложность может преподносить сюрпризы при реализации структуры данных.
Начнем
1. List
List — это упорядоченный изменяемый набор элементов.

2. Set
Set — это неупорядоченный набор уникальных хэшируемых объектов.

3. Dict
Dict отображает хэшируемые значения в произвольные изменяемые объекты.

4. Default dict
Defaultdict — это словарь, который запускается со значением по умолчанию, когда каждый ключ встречается впервые.

5. Deque
Deque — это двусторонняя очередь.

6. Heapq
Heapq — это двоичное дерево поиска, для которого каждый родительский узел имеет значение меньшее или равное любому из потомков.

7. Counter
Counter — это подкласс dict для подсчета хэшируемых объектов. Это неупорядоченный набор, в котором элементы хранятся как ключи словаря и их значения как значения словаря.

Специально для сайта ITWORLD.UZ. Новость взята с сайта NOP::Nuances of programming