Обратите внимание, что Бойер-Мур должен искать текст ( несколько слов) в тексте.
Если все, что вам нужно, это определить отдельные слова, тогда гораздо проще:
- положить каждое найденное слово в структуру словаря (чем бы оно ни было)
- поиск каждого слова в словаре
Это наиболее заметно означает, что вы читаете текст как поток, и вам не нужно хранить его все в памяти сразу (что прекрасно работает с типичным примером файлового курсора).
Что касается структурысловаря, я бы порекомендовал простую хеш-таблицу.Прекрасно работает с памятью по сравнению с древовидными структурами.