Я изучаю требования к аппаратному и программному обеспечению (конечная цель - мобильное приложение Java) для потенциального бесплатного / платного приложения.
Приложение запустится с этой простой целью: получить список релевантных слов в базе данных, чтобы иметь возможность завершать слова при вводе одной строки.
Другими словами, я уже знаю содержимое базы данных - но объем памяти / скорость / эффективность поиска алгоритма будут определять объем поддерживаемых данных.
Я начал с поиска по дереву на основе суффикса, но мне интересно, есть ли у кого-нибудь опыт компромиссов между скоростью и объемом памяти этого простого подхода по сравнению с более сложными, о которых говорили на конференциях.
Честно говоря, первоначальное приложение имеет, вероятно, менее 500 слов в контексте, поэтому это может не иметь значения, но в конечном итоге приложение может расшириться до десятков тысяч или сотен тысяч записей - таким образом, вопрос о скорости по сравнению с объемом памяти.
Полагаю, я мог бы начать с чего-то более простого и переключиться позже, но я надеюсь понять компромисс раньше!