Алгоритмы на строках:Тикеты — различия между версиями
 (→2 Нечёткий поиск)  | 
				 (→1 Основные определения. Простые комбинаторные свойства слов)  | 
				||
| (не показано 12 промежуточных версий 3 участников) | |||
| Строка 1: | Строка 1: | ||
| + | '''Взяли все'''  | ||
== 1 Основные определения. Простые комбинаторные свойства слов ==  | == 1 Основные определения. Простые комбинаторные свойства слов ==  | ||
| + | |||
# [[Основные определения, связанные со строками]]  | # [[Основные определения, связанные со строками]]  | ||
# [[Период и бордер, их связь]]  | # [[Период и бордер, их связь]]  | ||
# [[Слово Фибоначчи]]  | # [[Слово Фибоначчи]]  | ||
# [[Слово Туэ-Морса]]  | # [[Слово Туэ-Морса]]  | ||
| − | # [[Декомпозиция Линдона]]<tex>^\star</tex>   | + | # [[Декомпозиция Линдона]]<tex>^\star</tex>    | 
| − | |||
| − | |||
# [[Алгоритм Ландау-Шмидта]]<tex>^\star</tex>  | # [[Алгоритм Ландау-Шмидта]]<tex>^\star</tex>  | ||
# [[Алгоритм Крочемора]]<tex>^\star</tex>  | # [[Алгоритм Крочемора]]<tex>^\star</tex>  | ||
# [[Алгоритм Мейна-Лоренца]]<tex>^\star</tex>  | # [[Алгоритм Мейна-Лоренца]]<tex>^\star</tex>  | ||
| − | # [[Алгоритм Манакера]]<tex>^\star  | + | # [[Алгоритм Манакера]]<tex>^\star</tex>  | 
| − | |||
| − | |||
# [[Дерево палиндромов]]<tex>^\star</tex>  | # [[Дерево палиндромов]]<tex>^\star</tex>  | ||
| Строка 21: | Строка 19: | ||
# [[Наивный алгоритм поиска подстроки в строке]] 0,25  | # [[Наивный алгоритм поиска подстроки в строке]] 0,25  | ||
## См. также  | ## См. также  | ||
| − | # [[Поиск подстроки в строке с использованием хеширования. Алгоритм Рабина-Карпа]]  | + | # [[Поиск подстроки в строке с использованием хеширования. Алгоритм Рабина-Карпа]] 0.5  | 
| + | ## поправить тех  | ||
| + | ## решить проблемы со скобками  | ||
# [[Поиск наибольшей общей подстроки двух строк с использованием хеширования]] 0.25  | # [[Поиск наибольшей общей подстроки двух строк с использованием хеширования]] 0.25  | ||
## <tex>..</tex> заменить на <tex>\ldots</tex>  | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
| − | # [[Префикс-функция]]   | + | # [[Префикс-функция]] 1.25  | 
## <tex>..</tex> заменить на <tex>\ldots</tex>  | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
| + | ## алгоритм восставноления строки - формулировка задачи не та  | ||
# [[Алгоритм Кнута-Морриса-Пратта]]  | # [[Алгоритм Кнута-Морриса-Пратта]]  | ||
# [[Автомат Кнута-Морриса-Пратта]]  | # [[Автомат Кнута-Морриса-Пратта]]  | ||
| − | # [[Z-функция]]   | + | # [[Z-функция]] 3  | 
## <tex>..</tex> заменить на <tex>\ldots</tex>  | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
| + | ## Расписать более понятно, почему построение за O(n)  | ||
| + | ## алгоритм восставноления строки - формулировка задачи не та  | ||
# [[Бор]]  | # [[Бор]]  | ||
| − | # [[Алгоритм Ахо-Корасик]]  | + | # [[Алгоритм Ахо-Корасик]] 3  | 
| + | ## Написать более понятно  | ||
# [[Суффиксный автомат]]  | # [[Суффиксный автомат]]  | ||
# [[Алгоритм Бойера-Мура]] 0,25  | # [[Алгоритм Бойера-Мура]] 0,25  | ||
| Строка 51: | Строка 55: | ||
== 3 Суффиксное дерево ==  | == 3 Суффиксное дерево ==  | ||
| − | # [[Суффиксный бор]]  | + | # [[Суффиксный бор]] 0.25  | 
| + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
| + | ## Trie -> Tree  | ||
# [[Сжатое суффиксное дерево]]  | # [[Сжатое суффиксное дерево]]  | ||
| − | # [[Алгоритм Укконена]]  | + | # [[Алгоритм Укконена]] 0.25  | 
| − | # [[Алгоритм МакКрейта]]<tex>^\star</tex>  | + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | 
| + | # [[Алгоритм МакКрейта]]<tex>^\star</tex> 0.25  | ||
| + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
# [[Алгоритм Фарача]]<tex>^\star</tex>  | # [[Алгоритм Фарача]]<tex>^\star</tex>  | ||
== 4 Суффиксный массив ==  | == 4 Суффиксный массив ==  | ||
| − | # [[Суффиксный массив]]  | + | # [[Суффиксный массив]] 0.25  | 
| − | # [[Построение суффиксного массива с помощью стандартных методов сортировки]]  | + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | 
| − | # [[Алгоритм цифровой сортировки суффиксов циклической строки]]  | + | # [[Построение суффиксного массива с помощью стандартных методов сортировки]] 2  | 
| + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
| + | ## разобраться с псевдокодом  | ||
| + | #  [[Алгоритм цифровой сортировки суффиксов циклической строки]] 3  | ||
| + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
| + | ## в картинки с примером есть ошибка  | ||
| + | ## поправить тех  | ||
# [[Алгоритм Касаи и др.]]  | # [[Алгоритм Касаи и др.]]  | ||
| − | # [[Алгоритм Карккайнена-Сандерса]]  | + | # [[Алгоритм Карккайнена-Сандерса]] 0.25  | 
| + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
# [[Алгоритм поиска подстроки в строке с помощью суффиксного массива]]  | # [[Алгоритм поиска подстроки в строке с помощью суффиксного массива]]  | ||
| − | # [[Количество подпалиндромов в строке]]<tex>^\star</tex>  | + | # [[Количество подпалиндромов в строке]]<tex>^\star</tex> 0.25  | 
| + | ## <tex>..</tex> заменить на <tex>\ldots</tex>  | ||
Версия 23:32, 22 февраля 2019
Взяли все
Содержание
1 Основные определения. Простые комбинаторные свойства слов
- Основные определения, связанные со строками
 - Период и бордер, их связь
 - Слово Фибоначчи
 - Слово Туэ-Морса
 - Декомпозиция Линдона
 - Алгоритм Ландау-Шмидта
 - Алгоритм Крочемора
 - Алгоритм Мейна-Лоренца
 - Алгоритм Манакера
 - Дерево палиндромов
 
2 Поиск подстроки в строке
0 Поиск подстроки в строке 0.25
- См. также
 
1 Точный поиск
-  Наивный алгоритм поиска подстроки в строке 0,25
- См. также
 
 -  Поиск подстроки в строке с использованием хеширования. Алгоритм Рабина-Карпа 0.5
- поправить тех
 - решить проблемы со скобками
 
 -  Поиск наибольшей общей подстроки двух строк с использованием хеширования 0.25
- заменить на
 
 -  Префикс-функция 1.25
- заменить на
 - алгоритм восставноления строки - формулировка задачи не та
 
 - Алгоритм Кнута-Морриса-Пратта
 - Автомат Кнута-Морриса-Пратта
 -  Z-функция 3
- заменить на
 - Расписать более понятно, почему построение за O(n)
 - алгоритм восставноления строки - формулировка задачи не та
 
 - Бор
 -  Алгоритм Ахо-Корасик 3
- Написать более понятно
 
 - Суффиксный автомат
 -  Алгоритм Бойера-Мура 0,25
- См. также
 
 - Алгоритм Апостолико-Крочемора
 -  Алгоритм Колусси 0,25
- См. также
 
 - Алгоритм Райта
 -  Алгоритм Shift-And 0.25
- заменить на
 
 - Двусторонний алгоритм
 - Турбо-алгоритм Бойера-Мура
 
2 Нечёткий поиск
-  Алгоритм Ландау-Вишкина (k несовпадений) 0.25
- заменить на
 
 -  Алгоритм Ландау-Вишкина (k различий) 0.25
- заменить на
 
 
3 Суффиксное дерево
-  Суффиксный бор 0.25
- заменить на
 - Trie -> Tree
 
 - Сжатое суффиксное дерево
 -  Алгоритм Укконена 0.25
- заменить на
 
 -  Алгоритм МакКрейта 0.25
- заменить на
 
 - Алгоритм Фарача
 
4 Суффиксный массив
-  Суффиксный массив 0.25
- заменить на
 
 -  Построение суффиксного массива с помощью стандартных методов сортировки 2
- заменить на
 - разобраться с псевдокодом
 
 -   Алгоритм цифровой сортировки суффиксов циклической строки 3
- заменить на
 - в картинки с примером есть ошибка
 - поправить тех
 
 - Алгоритм Касаи и др.
 -  Алгоритм Карккайнена-Сандерса 0.25
- заменить на
 
 - Алгоритм поиска подстроки в строке с помощью суффиксного массива
 -  Количество подпалиндромов в строке 0.25
- заменить на