Изменения

Перейти к: навигация, поиск

Суффиксный массив

2 байта добавлено, 21:57, 10 июня 2015
м
Псевдокод
Для начала вместо каждого символа строки поставим символ из бесконечного алфавита в промежуточную строку <tex>tmp</tex>, как в решении выше. Пусть, мы рассматриваем <tex>i</tex>-й в лексикографическом порядке суффикс (т.е. и <tex>i</tex>-й символ строки). Его первый символ будет равен первому символу предущего в лексикографическом порядке суффикса, если <tex>tmp[sa[i - 1] + 1] < tmp[sa[i] + 1]</tex>, т.е. и их строки без первого символа так же в лексикографическом порядке. Иначе он должен быть больше, т.к. рассматриваемый суффикс следующий в лексикографическом порядке.
==== Псевдокод ====
'''string''' fromSuffixArrayToString('''int[]''' sa):
'''for''' i = 1 '''to''' n
79
правок

Навигация