временная сложность построения таблицы в алгоритме KMP - PullRequest
0 голосов
/ 22 марта 2020

При изучении алгоритма KMP я наткнулся на следующий код для заполнения таблицы

    for(int i=1,j=0;i<ar.length;i++)
    {
        if(s.charAt(i)==s.charAt(j))
        {
            ar[i]=++j;
        }
        else if(j>0)
        {
            j=ar[j-1];
            i--;
        }
    }

В другом случае, если условие мы приостанавливаем на i и уменьшаем на j. Я думаю, что есть вероятность, что мы продолжим уменьшать j до 0, поэтому в целом, если мы уменьшим j до 0 для каждого i, общая сложность времени не будет равна O(n^2)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...