Я читал topcoder tutorial on KMP algorithm, и я не в состоянии понять следующую часть текста:Объяснения о свойстве функции отказа KMP
Учитывая строку (довольно длинный), найти все свои собственные суффиксы, также являются префиксами. Все, что нам нужно сделать, это просто вычислить «отказ» функции данной строки и использовать в ней информацию , чтобы распечатать ответ.
Я знаю, как вычислить функцию отказа и для строки abacababa
я получаю следующий массив [0, 0, 1, 0, 1, 2, 3, 2, 3]
. Проблема заключается в том, что я не могу понять, как это может помочь мне найти
все свои собственные суффиксы, которые также являются префиксы него
, которые основаны на моем понимании, предполагают, чтобы быть a
и aba
.
у вас есть проблемы строит функцию отказа или как использовать его? – sashas
@sasha из моего вопроса: 'Я знаю, как вычислить функцию отказа ... Проблема в том, что я не могу понять, как это может мне помочь' –
да, у вас есть вопрос. Я попытался объяснить в общих чертах, как вы можете найти самые длинные правильные суффиксы, которые также являются префиксами при построении этого массива/функции отказа. – sashas