Блок задач

2. Алгоритмы

Сложность 9

Задача «Поиск подстроки в строке: Ахо-Корасик»

Реализовать функцию поиска подстроки в строке алгоритмом Ахо-Корасик. Реализация требует построения префиксного дерева (бор). Подробнее по ссылке.

def substring_search(text: str, pattern: str) -> List[int]:
    pass

text – строка, в которой ищем («стог сена»), pattern – строка, которую ищем («иголка»).

Обязательно наличие тестов, как для маленьких строк, так и для файлов с текстами.