В упрощенном виде задача такова: есть
большое количество шаблонов из нулей и единиц. Возможен символ *
в конце шаблона. ( Например: 1, 10, 1011* )
И есть
большое количество строк. Для каждой строки необходимо проверить, "покрывается" ли строка каким-либо из шаблонов.
Вопрос: как это сделать наиболее эффективно? Наверняка есть какой-то известный алгоритм или структура данных для этой задачи.
------------------------------
UPD: Попробовал реализовать дерево префиксов. Вроде, работает правильно, но, к сожалению слишком медленно. Буду благодарен, если кто-нибудь сможет взглянуть на код -- может быть, я что-то написал неверно/неэффективно:
pastebin.com/DKZzhvXA