Одна из проблем алгоритма Бойера-Мура заключается в том, что таблица переходов должна быть очень большой для символов Юникода
Это не совсем ответ, но слишком длинный комментарий.
В «таблице пропусков» Бойера-Мура должна быть запись для каждого «персонажа» в шаблоне, который вы ищете.
Для char
самый простой (и самый быстрый) способ сделать это - иметь массив из 256 элементов (и именно так алгоритм BM был описан в оригинальных статьях).Но это не требование;просто деталь реализации.