Одна структура данных, которую я слышал, использовалась в прошлом в мобильных телефонах для хранения словарей T9, является следующей (ну, это касается только ключевой проблемы, но не хранилища определений):
Записи отсортированы,и каждая запись должна начинаться со смещения в предыдущей записи, откуда она должна быть продолжена, а также продолжения.Например:
apple
4icable
7tion
будет декодироваться в Apple, в зависимости от применения.Однако это может не сильно отличаться от попыток с объединенными цепями, см.
appl -> e
-> ica -> ble
-> tion
Википедия раскрыла Направленный ациклический граф слов , который отличается от деревьев тем, что он не только разветвляется, но и разветвляется.объединить, где слова имеют одинаковый суффикс.Это действительно может быть превосходное хранилище.
a
/ \
pplic utom
\ /
ation