Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.09.2019, 11:22   #1
incold
Новичок
Джуниор
 
Регистрация: 30.11.2013
Сообщений: 1
По умолчанию Есть ли ошибки в алгоритме Бойера-Мура

Есть ли ошибки в этом варианте алгоритма и можно ли его улучшить?
Код:
Procedure Seacrh;
  Var i, j, jump, v, q: Integer;
  Begin
    jump := 1;
    i := 1;
    While (i<=n-m+1) Do Begin
      j := m;
      While (j>=jump) And (P[j]=T[i+j-1]) Do j:=j+1;
      If j=jump-1 Then Begin
        Writeln ('образец входит в текст с позиции: ',i);
        i := i+Max(1,br[m]);
        jump := m-br[m]+1;
      end
      Else Begin
        If pbwt[j+1]=0 Then v:=m-brsuf[j+1]
        Else v:=j+1-pbwt[j+1];
      q := Max(v,j-bs[t[i+j-1]]);
      i := i+q;
      If q=m-brsuf[j+1] Then jump:=q
                        Else jump:=1;
      end;
    end;
  end.
incold вне форума Ответить с цитированием
Старый 02.09.2019, 21:37   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,537
По умолчанию

Ну для начала представлять, какую задачу он должен выполнять. Выполняет - значит, нет ошибок.
А вообще как по мне, так процедура, работающая с глобальными переменными - это ... не подобрать цензурных слов. Как улучшить? Понять ее смысл и переписать, я думаю.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск определенных слов по алгоритму Бойера-Мура azunight Общие вопросы C/C++ 1 03.10.2018 09:31
Прокомментировать код (Алгоритм Бойера — Мура) EDWIN503 Общие вопросы C/C++ 9 28.10.2017 21:08
есть ошибки? (протестите у кого С++ есть) Юлия_Ф Помощь студентам 11 07.10.2011 10:42
Автоматы Бойера- Мура killer12rus Помощь студентам 1 21.12.2010 20:55
Просьба помочь разобраться с поиском в строке по алгоритму Бойера-Мура Ветас Помощь студентам 1 16.11.2009 18:52