Учитывая набор лексики, какова лучшая структура данных, которая может быть использована для поиска всех слов в словаре, соответствующих данной подстроке?Какова лучшая структура данных для сопоставления шаблонов в словаре?
Предположим, что «Ap» является подстрокой,
«Apple» и «Application» должны быть возвращены.
Поскольку в этом случае «Ap» находится в начале двух строк, я могу думать об использовании Tries.
Но что, если подстрока, которую нужно подобрать, можно найти где угодно в словах словарного запаса?
Например: Если указано «ap», также должна быть возвращена «форма», так как «ap» встречается в «форме».
Комплект словарных букетов очень большой.
Что определяет лучше всего? Самый быстрый, самый маленький. Что ты пробовал? Есть способы, которыми вы можете оптимизировать, используя ограничения, например, нечувствительные к регистру, но нет волшебной палочки. –
@Tony Fastest .. –
Я сделал что-то вроде этого один раз для поиска слова scrabble, но у него было намного больше ограничений для оптимизации и необходимости находить все слова с шаблоном, подобным A? P. Это существенно сломило словарь в словарь словаря списков. Таким образом, у меня был словарь всех слов с A в них, в котором содержался словарь списков, для какой позиции в слове A. Был использован большой объем памяти и потребовалось некоторое время для загрузки. –