Вот сценарий:
У меня есть массив миллионов случайных строк букв длиной 3-32 и массив слов (словарь).
Мне нужно проверитьесли случайная строка может быть составлена путем объединения 1, 2 или 3 разных словарных слов или нет.
Так как словарные слова будут несколько фиксированными, я могу выполнить любую предварительную обработку для них.
В идеале мне бы хотелось, чтобы что-то оптимизировало скорость поиска, выполняя некоторую предварительную обработку словаря.
На какие структуры данных / алгоритмы мне следует обратить внимание, чтобы реализовать это?