Строки-5, суффиксный массив (28 апреля)
- Поиск строки в тексте
- С помощью суффиксного дерева за O(|s|)
- С помощью суффиксного массива за O(|s|log|t|)
- С помощью суффиксного массива за O(|s| + log|s|log|t|)
- С помощью суффиксного массива за O(|s| + log|t|). Используем LCP в суфф.массиве за O(1).
- Алгоритм цифровой сортировкой за O(nlogn)
- Суффиксы ↔ циклические сдвиги
- Цифровая сортировка строк за O(n(n+Σ))
- Цифровая сортировка циклических сдвигов за O(Σ + nlog2n)
- Версия с сортировкой подсчётом внутри за O(Σ + nlogn)
- Делаем сортировку устойчивой (+1 проход в конце).
- Оптимайз: Σ = n ⇒ break;
- Алгоритм Касаи построения LCP за O(n)
- Алгоритм для суффиксов
- Алгоритм для циклических сдвигов
- Алгоритм Каркайнена-Сандерса построения суффиксного массива за O(n)