Подстрока - Substring
В формальная теория языка и Информатика, а подстрока является непрерывной последовательностью символы в пределах нить. Например, "лучший из"является подстрокой"Это были лучшие времена". Это не следует путать с подпоследовательность, который является обобщение подстроки. Например, "Это время"является подпоследовательностью"Это были лучшие времена", но не подстроку.
Префиксы и суффиксы являются частными случаями подстрок. Префикс строки это подстрока что происходит в начале ; аналогично, суффикс строки это подстрока, которая встречается в конце .
Список всех подстрок строки "яблоко" было бы "яблоко", "приложение", "pple", "приложение", "человек", "Ple", "ap", "pp", "pl", "ле", "а", "п", "л", "е", "" (Обратите внимание пустой строкой в конце).
Подстрока
Строка подстрока (или фактор)[1] строки если существует две строки и такой, что . В частности, пустая строка является подстрокой каждой строки.
Пример: строка ана
равно подстрокам (и подпоследовательностям) банан
на двух разных смещениях:
банан ||||| ана || ||| ана
Первое вхождение получается с б
и на
, а второе вхождение получается с запретить
и это пустая строка.
Подстрока строки - это префикс из суффикс строки, и эквивалентно суффикс префикса; Например, Нан
является префиксом нана
, который, в свою очередь, является суффиксом банан
. Если это подстрока , это также подпоследовательность, что является более общим понятием. Вхождения данного шаблона в заданную строку можно найти с помощью алгоритм поиска строки. Поиск самой длинной строки, равной подстроке из двух или более строк, известен как самая длинная общая проблема с подстрокой.В математической литературе подстроки также называют подслова (в Америке) или факторы (в Европе).[нужна цитата ]
Префикс
Строка это префикс[1] строки если существует строка такой, что . А правильный префикс строки не равно самой строке;[2] некоторые источники[3] кроме того, укажите, что правильный префикс должен быть непустым. Префикс можно рассматривать как частный случай подстроки.
Пример: строка запретить
равен префиксу (а также подстроке и подпоследовательности) строки банан
:
банан ||| запрет
Символ квадратного подмножества иногда используется для обозначения префикса, так что означает, что является префиксом . Это определяет бинарное отношение на струнах, называемых префиксное отношение, который представляет собой особый вид порядок префиксов.
Суффикс
Строка суффикс[1] строки если существует строка такой, что . А правильный суффикс строки не равно самой строке. Более ограниченная интерпретация состоит в том, что он также не пустой[1]. Суффикс можно рассматривать как частный случай подстроки.
Пример: строка нана
равен суффиксу (а также подстроке и подпоследовательности) строки банан
:
банан |||| нана
А суффиксное дерево для строки это три структура данных который представляет все его суффиксы. Суффикс-деревья имеют большое количество приложений в строковые алгоритмы. В массив суффиксов является упрощенной версией этой структуры данных, в которой перечислены начальные позиции суффиксов в алфавитном порядке; у него много одинаковых приложений.
Граница
Граница - это суффикс и префикс одной и той же строки, например. «баб» - это граница «бабаб» (а также «бабунингакебаб»).
Суперструна
А суперструна конечного множества строк - это одна строка, содержащая каждую строку в как подстрока. Например, это суперструна , и короче. Как правило, каждый заинтересован в поиске суперструн с как можно меньшей длиной;[требуется разъяснение ] конкатенация всех строк в любом порядке дает тривиальную суперструну . Строка, содержащая все возможные перестановки указанного набора символов, называется суперперестановка.
Смотрите также
Рекомендации
- ^ а б c Лотэр, М. (1997). Комбинаторика слов. Кембридж: Издательство Кембриджского университета. ISBN 0-521-59924-5.
- ^ Келли, Дин (1995). Автоматы и формальные языки: введение. Лондон: Prentice-Hall International. ISBN 0-13-497777-7.
- ^ Гасфилд, Дэн (1999) [1997]. Алгоритмы на строках, деревьях и последовательностях: информатика и вычислительная биология. США: Издательство Кембриджского университета. ISBN 0-521-58519-8.
внешняя ссылка
- СМИ, связанные с Подстрока в Wikimedia Commons