I
IT Аналитика
@it_analytic104 подп.
538просмотров
4 августа 2023 г.
Score: 592
Поддержание порядка сортировки В стандартной библиотеке Python нет модулей, аналогичных типам данных C++ вроде set и map. Python делегирует эту задачу сторонним библиотекам, доступным в Python Package Index: они используют различные методы для сохранения типов list, dict и set в отсортированном порядке. Поддержание порядка с помощью специальной структуры данных может помочь избежать очень медленного поведения (квадратичного времени выполнения) при наивном подходе с редактированием и постоянной пересортировкой данных. Вот некоторые из модулей, реализующих эти типы данных: SortedContainers — реализация сортированных типов list, dict и set на чистом Python, по скорости не уступает реализациям на C. Тестирование включает 100% покрытие кода и многие часы стресс-тестирования. В документации можно найти полный справочник по API, сравнение производительности и руководства по внесению своего вклада. rbtree — быстрая реализация на C для типов dict и set. Реализация использует структуру данных, известную как красно-чёрное дерево. treap — сортированный dict. В реализации используется Декартово дерево, а производительность улучшена с помощью Cython. bintrees — несколько реализаций типов dict и set на основе деревьев на C. Самые быстрые основаны на АВЛ и красно-чёрных деревьях. Расширяет общепринятый API для предоставления операций множеств для словарей. banyan — быстрая реализация dict и set на C. skiplistcollections — реализация на чистом Python, основанная на списках с пропусками, предлагает ограниченный API для типов dict и set. blist — предоставляет сортированные типы list, dict и set, основанные на типе данных «blist», реализация на Б-деревьях. Написано на Python и C. IT Аналитика
538
просмотров
1713
символов
Нет
эмодзи
Нет
медиа

Другие посты @it_analytic

Все посты канала →