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

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

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

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

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

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

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

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

2 ответа

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

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

Другие вопросы по тегам