Поиск префикса по основному дереву / Patricia Trie

В настоящее время я использую основание дерева / Патрисии (как вы хотите это называть). Я хочу использовать его для поиска префиксов в словаре на жестком оборудовании. Он должен работать более или менее как автозаполнение, т.е. е. показывает список слов, которым соответствует набранный префикс.

Моя реализация основанана этой статье, но код в нем не включает поиск префиксов, хотя автор говорит:

[...] Допустим, вы хотите перечислить все узлы, которые имеют ключи с общим префиксом «AB». Вы можете выполнить поиск в глубину, начиная с этого корня, останавливаясь всякий раз, когда вы сталкиваетесь с задними гранями.

Но я не понимаю, как это должно работать. Например, если я построю основополагающее дерево из этих слов:

болезнь
мнимый
воображение
представить
имитация
немедленный
немедленно
огромный
в

Я получу точно такое же «лучшее соответствие» для префиксов «i» и «in», что мне будет сложно собрать все подходящие слова, просто пройдя по дереву из этого лучшего соответствия.

Кроме того, естьреализация корня дерева в Java который имеет реализованный поиск префикса вRadixTreeImpl.java, Этот код явно проверяет все узлы (начиная с определенного узла) на соответствие префикса - он фактически сравнивает байты.

Может кто-нибудь указать мне подробное описание реализации поиска префикса на основаниях деревьев? Является ли алгоритм, используемый в реализации Java, единственным способом сделать это?

Ответы на вопрос(4)

Ваш ответ на вопрос