Алгоритм Колусси
Версия от 21:27, 14 мая 2014; Kabanov (обсуждение | вклад)
Алгоритм
Отметим, что нумерация символов строк и элементов массива у нас начинается с
.Сначала построим массивы: Kmp, Kmin, Rmin, Shift.
Определение: |
Обозначим за | функцию, возвращающую количество прыжков для позиций , которые являются полными.
Определение: |
Обозначим за | функцию, возвращающую наименьший из периодов шаблона, которые больше позиции , для позиций, которые являются пустыми.
Определение: |
Функция сдвига |
Псевдокод
Асимптотики
- partitions the set of pattern positions into two disjoint subsets; the positions in the first set are scanned from left to right and when no mismatch occurs the positions of the second subset are scanned from right to left;
- preprocessing phase in time and space complexity;
- searching phase in time complexity;
- performs text character comparisons in the worst case.