У меня есть проблема с пониманием этой реализации алгоритма Кнута-Морриса-Пратта в Haskell.
http://twanvl.nl/blog/haskell/Knuth-Morris-Pratt-in-Haskell
В частности, я не понимаю конструкцию автомата. Я знаю, что он использует метод "Завязать узел" для его создания, но мне это непонятно, и я также не знаю, почему он должен иметь правильную сложность.
Еще одна вещь, которую я хотел бы знать, - это то, считаете ли вы, что эта реализация может быть легко обобщена для реализации алгоритма Aho-Corasick.
Спасибо за ваши ответы!