Полное руководство по встроенным структурам данных Python

Python

Структуры данных — это просто специализированные форматы для организации и хранения данных. Они крайне необходимы для разработки программного обеспечения, поэтому их правильный выбор очень важен.

“Плохие программисты беспокоятся о коде. Хорошие программисты беспокоятся о структурах данных и отношениях между ними”,  —  Линус Торвальдс, создатель Linux.

Одна из важнейших характеристик в выборе правильной структуры — ее нотация О большое.

Что такое нотация О большое? Это язык описания производительности алгоритма и его масштабирования (не важно, насколько он быстрый).

Существует множество статей о структурах данных. В этой я сконцентрируюсь на реализации на Python, потому что:

  • Нет единого материала о временной сложности структур данных.
  • У меня несколько разных структур данных.
  • Временная сложность может преподносить сюрпризы при реализации структуры данных.

Начнем

1. List

List — это упорядоченный изменяемый набор элементов.

Нотация “большого О” для List

2. Set

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

Нотация “большого О” для Set

3. Dict

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

Нотация “большого О” для Dict

4. Default dict

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

Нотация “большого О” для Default dict

5. Deque

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

Нотация “большого О” для Deque

6. Heapq

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

О большое для Heapq

7. Counter

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

О большое для Counter

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