Я изучаю различные структуры данных "префикс-поиск", такие как Tries и Radix Tries (Patricia Tries).
На данный момент у меня есть четкое представление как о попытках, так и о системе счисления, а также хорошее понимание их вариантов использования.
Однако у меня возникает один вопрос: есть ли какое-либо преимущество в использовании обычного дерева по сравнению со сжатым деревом (таким как radix trie)?
Обычный trie легко реализовать: он хранит по одному символу на узел. Patricia Trie немного сложнее реализовать: он «сжат» в том смысле, что каждый узел содержит целую строку, а сравнение префиксов выполняется с использованием побитового сопоставления.
Поскольку Patricia Trie более эффективно использует пространство и не жертвует скоростью поиска, есть ли какой-либо вариант использования обычного (несжатого) Trie, где каждый узел содержит одну букву?
Единственный вариант использования, который я могу придумать, - это если ваши "строки" представляют собой нечто иное, чем обычные строки символов (например, массивы более сложных объектов), и поэтому их нельзя сравнивать с помощью побитовых сравнений.
Есть ли другой вариант использования обычного (несжатого) Trie?