Курсовая работа: Алгоритмы поиска подстроки в строке
Var n,i,j:Integer;
Begin
n:=Length(P);
Fl[1]:=0;
For i:=2 To n Do
Begin
j:=Fl[i-1];
While (j<>0) And (P[j]<>P[i-1]) Do j:= Fl[j];
Fl[i]:=j+1;
End;
End;
????????: ?????? ????? ?????? ????????? ???????, ???? ? ??? ???????????? ????????? ????? ??, ??-??????, ?????????? ???????-??????? ?????????? ????? m ???, ????????? ????? ???????? ?????????? k. ??? ??? ? ????? while ??? ??????????? (P[k]<k), ?? ?? ?????????? ?????? 0, ?? ??????????? ??? ????? ?? ????, ??? ??????????. ?????????? k ?????????? ?? 1 ?? ????? m ???. ??????, ?????????? k ???????? ????? ?? ????? 2m ???. ???????, ??? ????? ?????? ???? ????????? ???? O(m) [1, 2].
|
|
|