Курсовая работа: Порівняльний аналіз ефективності та складності алгоритмів пошуку елементів у масивах
var
n : longint;
T : array[1..40000] of char;
S : array[1..1000] of char;
P : array[1..1000] of word; { масив, в якому зберігаються значення префікс-функції}
i,k : longint;
m : longint;
{---------------------------------------------------------}
Procedure Prefix; { процедура, що знаходить префікс-функцію}
Begin
P[1]:=0; { префікс рядка із одного символу має нульову довжину}
k:=0;
for i:=2 to m do { обраховуємо для префіксів рядки довжиною від 2 до m символів}
begin
while (k>0) and (S[k+1]<>S[i]) do
k:=P[k]; { значення функції може бути отримане із обчислень, проведених раніше}
if S[k+1]=S[i] then
k:=k+1;
P[i]:=k; { присвоєння префікс-функції}
end;
End;
{---------------------------------------------------------------------------------}
Begin
ClrScr;
Randomize;
Writeln(‘ Vvedit dovguny texty n’);
Readln(n);
Writeln(‘ Vvedit dovguny pidradka m, m<n’);
Readln(m);