Курсовая работа: Порівняльний аналіз ефективності та складності алгоритмів пошуку елементів у масивах

Var T : array[1..40000] of char;

S : array[1..10000] of char;

i,j : longint;

n,m : longint;

v,w : longint;

k : longint;

const P : longint = 7919; {1000-е простое число}

D : longint = 256; { кількість різних символів ( кількість різних символів типу char)}

Begin

{ Ввід тексту і зразка}

v:=0;

w:=0;

for i:=1 to m do { обчислення v і w}

begin

v:=(v*D+ord(S[i])) mod P; {ord повернення коду символа}

w:=(w*D+ord(T[i])) mod P;

end;

k:=1;

for i:=1 to m-1 do

k:=k*D mod P; {k має значення Dm-1 mod P}

for i:=m+1 to n+1 do

begin

if w=v then { якщо числа рівні, то рядки належать одному класу, і потрібно перевірити, чи вони рівні}

begin

j:=0;

while (j<m) and (S[j+1]=T[i-m+j]) do

j:=j+1;

if j=m then { кінцева перевірка}

К-во Просмотров: 464
Бесплатно скачать Курсовая работа: Порівняльний аналіз ефективності та складності алгоритмів пошуку елементів у масивах