Редактирование: Алгоритм Укконена
Внимание! Вы не авторизовались на сайте. Ваш IP-адрес будет публично видимым, если вы будете вносить любые правки. Если вы войдёте или создадите учётную запись, правки вместо этого будут связаны с вашим именем пользователя, а также у вас появятся другие преимущества.
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий, чтобы убедиться, что это именно те изменения, которые вас интересуют, и нажмите «Записать страницу», чтобы изменения вступили в силу.
Текущая версия | Ваш текст | ||
Строка 15: | Строка 15: | ||
treeExtend(s[j..i]) <font color=green>// добавление текущего суффикса работает за линейное время</font> | treeExtend(s[j..i]) <font color=green>// добавление текущего суффикса работает за линейное время</font> | ||
</code> | </code> | ||
− | '''Замечание:''' на первый взгляд, более логичным подходом кажется добавление всех суффиксов строки в дерево по очереди, получив сразу алгоритм со временем работы <tex>O(n^2)</tex>. Однако | + | '''Замечание:''' на первый взгляд, более логичным подходом кажется добавление всех суффиксов строки в дерево по очереди, получив сразу алгоритм со временем работы <tex>O(n^2)</tex>. Однако улучшение данного алгоритма до линейного времени работы будет намного сложней осуществить, хотя именно в этом и заключается суть [[Алгоритм МакКрейта | алгоритма МакКрейта]]. |
== Продление суффиксов == | == Продление суффиксов == |