Деревья структур данных
-
Двоичное дерево: структура данных и применение
Двоичное дерево в информатике: структура данных с не более чем двумя потомками у каждого узла. Определение, свойства и связь с графами.
-
Структуры данных в информатике
Структуры данных в информатике: организация, хранение и доступ к данным. Основы абстрактных типов данных (ADT) и их реализация. Эффективность и алгоритмы.
-
Связный список: структура данных и применение
Связный список: структура данных в программировании. Узлы содержат данные и ссылку на следующий элемент. Эффективное добавление/удаление данных.
-
Прямой доступ к данным: принципы и применение
Прямой доступ к данным: что это такое? Объяснение принципа произвольного доступа к элементам последовательности в компьютерных науках. Сравнение с последовательным доступом.
-
Алгоритмы поиска: типы, классификация и эффективность.
Алгоритмы поиска: обзор, типы и применение в информатике. Эффективный поиск данных в структурах, деревьях, хеш-таблицах и базах данных.
-
Повороты в двоичном дереве: сохранение порядка листьев и балансировка
Повороты деревьев в теории графов: локальные изменения структуры бинарного дерева без изменения порядка элементов. Оптимизация высоты и производительности.
-
Случайные двоичные деревья поиска и треапы
Древоподобные структуры данных: треап и рандомизированные BST. Быстрый поиск, вставка, удаление (O(log n)). Оптимальная высота, высокая производительность.
-
Метод индексированной последовательной доступа к файлам (ISAM)
ISAM: метод создания и управления файлами данных с быстрым доступом по ключу. Индексированный последовательный доступ, разработка IBM, для любых систем.
-
Биномиальная куча: структура данных для очереди с приоритетами
Биномиальная куча: структура данных для приоритетной очереди. Эффективное слияние за логарифмическое время, изобретена Ж. Вуйльмином в 1978 году.
-
Идеальные хеш-функции: свойства и применение
Идеальная хеш-функция: без коллизий! Обеспечивает мгновенный доступ к данным, экономит память. Применение в хеш-таблицах и lookup tables.
-
Протокол распределенной хеш-таблицы Chord
Chord: протокол распределенной хеш-таблицы P2P. Алгоритм для хранения данных в сети, поиск узлов и ключей. Разработан в MIT в 2001 году.
-
Ассоциативные списки в программировании: реализация и особенности
Ассоциативный список (alist) в программировании: структура данных типа "ключ-значение". Простое, но эффективное решение для небольших объемов данных.
-
Джуди-массив: Высокопроизводительная ассоциативная структура данных
Джуди-массив: высокопроизводительная ассоциативная структура данных без хеширования. Эффективно сжимает ключи, экономит память, масштабируется до петабайтов.
-
Графы как абстрактный тип данных в информатике
Графы в информатике: абстрактный тип данных для моделирования сетей и отношений. Вершины, ребра, направленные и ненаправленные графы – ключевые понятия.
-
Квадродерево: Структура данных для двумерного разбиения пространства
Квадродерево: древовидная структура данных для 2D-пространства. Рекурсивное деление на 4 квадранта, эффективная организация пространственной информации.
-
Деревья PQ и PC: Представление и применение перестановок
Дерево PQ: структура данных для представления перестановок. Разработано Booth & Lueker в 1976 году. P/Q узлы, переупорядочивание дочерних элементов.
-
Неизменяемые и персистентные структуры данных
Неизменяемые структуры данных: сохранение предыдущих версий при модификации. Полная и частичная персистентность. Обзор и применение в программировании.
-
Октодерево: Структура данных для трехмерного пространства
Октодерево: древовидная структура данных для 3D-пространства. Рекурсивное деление на 8 октантов, аналог квадродерева. Применение в 3D-графике и играх.
-
Древовидные структуры данных для быстрого поиска
Дерево поиска: эффективная структура данных для быстрого поиска и сортировки. Поддерживает вставку/удаление, используется в ассоциативных массивах.
-
R-деревья: Структуры данных для пространственного индексирования
R-деревья: эффективные структуры данных для пространственного индексирования. Геоданные, поиск ближайших объектов, карты и навигация. Оптимизация запросов!
-
P-Grid: Самоорганизующаяся P2P система для распределенного хранения данных с поддержкой диапазонов запросов
P-Grid: распределённое хранилище данных, самоорганизующаяся P2P система с балансировкой нагрузки и поддержкой диапазонных запросов. Эффективный поиск!
-
Узел в структурах данных: определение и свойства
Узел в структурах данных: основная единица, содержащая данные и ссылки на другие узлы. Понимание узлов важно для работы со списками и деревьями.
-
B+ Дерево: Структура и Применение в Хранении Данных
B+ дерево: структура данных для эффективного хранения и поиска информации на диске. Особенности, устройство, применение в файловых системах.
-
R+ Дерево: Индексирование пространственных данных и оптимизация поиска
R+ дерево: эффективная структура данных для поиска пространственной информации (координаты X, Y). Индексация, компромисс между R-деревьями и kd-деревьями.
-
R* деревья: оптимизированный метод индексации пространственных данных
R* деревья: эффективный метод индексации пространственных данных. Улучшенная эвристика разбиения для повышения производительности запросов и хранения данных.
-
Радиксное дерево: структура данных для эффективного хранения строк.
Радикс-дерево: эффективная структура данных для хранения и поиска строк. Оптимизация префиксов, компактность, высокая скорость работы с длинными ключами.
-
Interval tree
Дерево интервалов: структура данных для эффективного поиска пересекающихся интервалов. Оптимизация запросов, оконный поиск, компьютерная графика.
-
Танцующие деревья: структура данных для файловой системы Reiser4
Танцующее дерево (dancing tree) – структура данных, как B+ дерево, разработанная для Reiser4. Отличается отложеной балансировкой при записи на диск для повышения скорости файловой системы.
-
Вектор Илиффа: структура данных для многомерных массивов
Вектор Ильиффа: структура данных для многомерных массивов в программировании. Оптимизация вычислений адресов и реализация "рваных" массивов.
-
Сохранение локальности данных при отображении в одномерное пространство.
Кривая Мортона (Z-порядок): сохранение локальности данных при переходе от многомерности к одномерному представлению. Применение в базах данных и алгоритмах.
-
Линейное зондирование в хеш-таблицах
Линейное зондирование: метод разрешения коллизий в хеш-таблицах. Описание принципов работы, история создания и анализ Д. Кнутом.
-
М-арные деревья: структура, свойства и применение.
Дерево m-арное: структура данных с не более m детьми у каждого узла. Бинарные, тернарные деревья, полные и полные деревья – ключевые понятия.
-
Primary clustering
-
Коалесцентное хеширование: стратегия разрешения коллизий
Разрешение коллизий в хеш-таблицах: коалесцентное хеширование – гибрид раздельного связывания и открытой адресации. Экономия памяти и оптимизация!
-
Консистентное хеширование: принципы и применение
Консистентное хеширование: принцип работы, применение в базах данных Teradata и CDN Akamai. Обеспечивает балансировку нагрузки и стабильность сети.
-
Дерево Меркла: структура данных для криптографической проверки целостности
Дерево Меркла: эффективная структура данных для криптографии и проверки целостности больших объемов информации. Логарифмическая сложность проверки.
-
Обратные индексы в СУБД: стратегия и преимущества
Обратный индекс в СУБД: улучшение производительности баз данных. Реверс ключей полезен для монотонно возрастающих данных, например, последовательных номеров.
-
Левосторонняя куча: реализация и свойства
Левосторонняя куча: приоритетная очередь на основе бинарной кучи. s-значение определяет расстояние до листа. Несбалансированная структура данных, разработанная К. Крейном.
-
Дерево опорных точек: структура данных для поиска ближайших соседей.
Дерево перспектив (VP-дерево) – структура данных для быстрого поиска ближайших соседей в метрических пространствах. Индексация, MVP-деревья, алгоритмы поиска.
-
Линейное хеширование: динамическая структура данных и алгоритмы реализации.
Линейное хеширование: динамическая структура данных для хеш-таблиц, разработанная Витольдом Литвином. Рост/сокращение по одному бакету, избегая реорганизации.
-
Обобщенное древо поиска GiST: структура данных и API для индексирования.
GiST: обобщенное дерево поиска для эффективного индексирования данных. Реализация B+ деревьев, R-деревьев и других. Гибкая структура для любых типов данных.
-
Метрические деревья: структуры данных для метрических пространств
Метрические деревья – структуры данных для эффективного поиска в метрических пространствах. Используют треугольное неравенство, альтернатива k-d деревьям.
-
Дерево BK: Алгоритм приближенного поиска строк
Дерево BK: эффективная структура данных для быстрого нечёткого поиска строк в словарях. Основано на дискретном метрическом пространстве, предложено Burkhard & Keller.
-
Неявные структуры данных: эффективность и особенности реализации.
Неявные структуры данных в информатике: эффективное хранение, минимальный overhead (O(1)), позиционное кодирование связей. Суккуентные структуры данных.
-
Саморегулирующиеся кучи: Скью-куча и её особенности
Скучные кучи (skew heaps): самонастраивающаяся структура данных, быстрая операция слияния. Преимущества, особенности и реализация на основе деревьев.
-
Иерархия ограничивающих объемов: структуры и методы построения
Иерархия ограничивающих объемов (BVH): структура данных для эффективной обработки геометрии. Оптимизация столкновений и трассировки лучей.
-
Кукушечное хеширование: структура данных и варианты реализации
Хэширование Куку: схема разрешения коллизий в таблицах с постоянным временем поиска. Открытая адресация, высокая производительность, алгоритм 2001 года.
-
Двухвыборное хеширование: анализ и преимущества
Двухшаговое хеширование: эффективный метод разрешения коллизий в хеш-таблицах. Улучшает скорость поиска, снижает число столкновений. Оптимальный размер массива!
-
Doubly linked list