Алгоритмы поиска в тексте
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: сочинение по английскому, реферат на
| Добавил(а) на сайт: Valentin.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата
procedure MakeBMTable( var BMT : PBMTable; const P : String);
var
i, j, lp, MaxShift, CurShift, SufPos : Integer;
Suffix : String;
begin
lp := Length(P);
GetMem(BMT, SizeOf(TIntVect)*lp);
for i := 0 to 255 do BMT^[lp-1][i] := lp;
for i := lp downto 1 do
if BMT^[lp-1][Byte(P[i])] = lp then
BMT^[lp-1][Byte(P[i])] := lp - i;
MaxShift := lp;
for i := lp - 1 downto 1 do
begin
SetLength(Suffix, lp - i);
Move(P[i+1], Suffix[1], lp - i);
if Pos(Suffix, P) = 1 then MaxShift := i;
for j := 0 to 255 do
begin
CurShift := MaxShift;
SetLength(Suffix, lp - i + 1);
Suffix[1] := Char(j);
Move(P[i + 1], Suffix[2], lp - i );
SufPos := FindRightmost(P, Suffix, lp - 1);
if SufPos <> 0 then CurShift := i - SufPos;
Рекомендуем скачать другие рефераты по теме: шпоры по праву, реферат по физкультуре.
Категории:
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 9 10 | Следующая страница реферата