Практическое использование m-way tree - PullRequest
4 голосов
/ 02 февраля 2011

Я снова начал изучать структуры данных. Я нашел очень мало практического использования этого. Один из них был о файловой системе на диске. Может ли кто-нибудь дать мне больше примеров практического использования м-дерева

Ответы [ 2 ]

9 голосов
/ 02 февраля 2011

M-way деревья появляются на многих аренах.Вот небольшая выборка:

  1. B-деревья: это поисковые деревья, похожие на двоичное дерево поиска с огромным коэффициентом ветвления.Они спроектированы таким образом, что каждый узел может уместиться только внутри памяти, которую можно прочитать с жесткого диска за один проход.Все они имеют такие же гарантии asymPtotic для обычных BST, но предназначены для минимизации числа узлов, в которых выполняется поиск, чтобы найти конкретный элемент.Следовательно, многие гигантские системы баз данных используют B-деревья или другие связанные структуры для хранения больших таблиц на дисках.Таким образом, количество дорогостоящих операций чтения с диска сводится к минимуму, а общая эффективность намного выше.
  2. Octrees.Октри и их двухмерные двоюродные братья - структуры данных для хранения точек в трехмерном пространстве.Они широко используются в видеоиграх для быстрого обнаружения столкновений и вычислений рендеринга в реальном времени, и мы были бы намного хуже, если бы не они.
  3. Связывание / вырезание деревьев.Эти специализированные деревья используются в задачах сетевого потока для эффективного вычисления совпадений или нахождения максимальных потоков гораздо быстрее, чем обычные подходы, что имеет огромную применимость в исследовании операций.
  4. Лес с непересекающимися множествами.Эти многолучевые деревья используются в алгоритмах минимального связующего дерева для невероятно быстрого вычисления связности, оптимизируя время выполнения до теоретического предела.
  5. Пытается.Эти деревья используются для кодирования строковых данных и обеспечивают чрезвычайно быстрый поиск, хранение и обслуживание наборов строк.Они также используются в некоторых средствах регулярного выражения.
  6. Деревья Ван Эмде - молниеносная реализация приоритетных очередей целых чисел, подкрепленная лесом деревьев с огромным коэффициентом ветвления.
  7. Суффикс деревья.Эти драгоценности мира обработки текста позволяют осуществлять быстрый поиск строк.Они также обычно имеют коэффициент ветвления, намного превышающий два.
  8. PQ-деревья.Эти деревья для перестановок кодирования позволяют проводить тестирование на плоскостность в линейном времени, что имеет применение в схемах и схемах.

Фу!Это много деревьев.Надеюсь, это поможет!

0 голосов
/ 02 февраля 2011

Кстати, вы имеете в виду обобщенное дерево?Если так, то практически любая иерархия «с одним родителем».

...