Использование (несжатого) Trie

Я изучаю различные структуры данных "префикс-поиск", такие как Tries и Radix Tries (Patricia Tries).

На данный момент у меня есть четкое представление как о попытках, так и о системе счисления, а также хорошее понимание их вариантов использования.

Однако у меня возникает один вопрос: есть ли какое-либо преимущество в использовании обычного дерева по сравнению со сжатым деревом (таким как radix trie)?

Обычный trie легко реализовать: он хранит по одному символу на узел. Patricia Trie немного сложнее реализовать: он «сжат» в том смысле, что каждый узел содержит целую строку, а сравнение префиксов выполняется с использованием побитового сопоставления.

Поскольку Patricia Trie более эффективно использует пространство и не жертвует скоростью поиска, есть ли какой-либо вариант использования обычного (несжатого) Trie, где каждый узел содержит одну букву?

Единственный вариант использования, который я могу придумать, - это если ваши "строки" представляют собой нечто иное, чем обычные строки символов (например, массивы более сложных объектов), и поэтому их нельзя сравнивать с помощью побитовых сравнений.

Есть ли другой вариант использования обычного (несжатого) Trie?


person Siler    schedule 16.09.2014    source источник
comment
Я бы сказал, что немного сложнее реализовать - отличная причина.   -  person David Eisenstat    schedule 16.09.2014


Ответы (2)


Скорее всего, когда вставка в сжатый файл слишком дорога.

person Gigamegs    schedule 16.09.2014

я предполагаю, их просто легче понять и упростить анализ/разработку алгоритмов. Таким образом, они идеально подходят для образовательных целей, прежде чем будут введены сжатые деревья.

person piotrek    schedule 29.09.2014