Полное руководство по встроенным структурам данных 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



696   0  

Comments

    Ничего не найдено.