Алгоритм Апостола – Джанкарло
![]() | Эта статья включает список литературы , связанную литературу или внешние ссылки , но ее источники остаются неясными, поскольку в ней отсутствуют встроенные цитаты . ( Октябрь 2023 г. ) |
В информатике алгоритм Апостолико-Джанкарло представляет собой вариант алгоритма поиска строк Бойера-Мура , основным применением которого является поиск вхождений шаблона. в тексте . Как и в случае с другими поисками строк на основе сравнения, это делается путем выравнивания до определенного показателя и проверка наличия совпадения по этому индексу. затем смещается относительно по правилам алгоритма Бойера–Мура, и процесс повторяется до конца было достигнуто. Применение правил сдвига Бойера-Мура часто приводит к полному пропуску больших фрагментов текста.
Что касается операции сдвига, Апостолико-Джанкарло по функциональности в точности эквивалентен Бойеру-Муру. Полезность Апостолико-Джанкарло заключается в ускорении операции проверки совпадений по любому индексу. С помощью Бойера-Мура обнаружение появления в требует, чтобы все персонажи быть явно сопоставлены. Для некоторых шаблонов и текстов это очень неэффективно — простым примером является ситуация, когда и шаблон, и текст состоят из одного и того же повторяющегося символа, и в этом случае выполняется метод Бойера-Мура. , где длина в символах . Апостолико-Джанкарло ускоряет этот процесс, записывая количество символов, совпадающих при выравнивании в таблице, которая объединяется с данными, собранными в ходе предварительной обработки чтобы избежать избыточной проверки равенства для последовательностей символов, которые, как известно, совпадают. Его можно рассматривать как обобщение правила Галила .
Ссылки
[ редактировать ]- Апостолико, Альберто; Джанкарло, Рафаэле (1986). «Возвращение к стратегиям поиска строк Бойера-Мура-Галиля» . SIAM Journal по вычислительной технике . 15 : 98–105. дои : 10.1137/0215007 .
- Крошмор, Максим; Лекрок, Тьерри (1997). «Жесткие ограничения сложности алгоритма Апостолико-Джанкарло» (PDF) . Письма об обработке информации . 63 (4): 195–203. дои : 10.1016/S0020-0190(97)00107-5 .
- Крочемор, М.; Риттер, В. (1994). Текстовые алгоритмы . Издательство Оксфордского университета .
- Гасфилд, Д. (1997). Алгоритмы на строках, деревьях и последовательностях: информатика и вычислительная биология . Издательство Кембриджского университета . ISBN 0-521-58519-8 .
- Лекрок, Т. (1992). Поиск слов (кандидатская диссертация). Университет Орлеана .
- Лекрок, Тьерри (1995). «Результаты экспериментов по алгоритмам сопоставления строк». Программное обеспечение: практика и опыт . 25 (7): 727–765. дои : 10.1002/спе.4380250703 . S2CID 15253073 .