stringtranslate.com

Подстрока

" строка " является подстрокой " подстроки "

В теории формального языка и информатике подстрока представляет собой непрерывную последовательность символов внутри строки . [ нужна цитата ] Например, « лучшее из » — это подстрока « Это были лучшие времена ». Напротив, « Itwastimes » является подпоследовательностью « Это были лучшие времена », а не подстрокой.

Префиксы и суффиксы — это частные случаи подстрок. Префикс строки — это ее подстрока , стоящая в начале ; аналогично, суффикс строки — это подстрока, которая находится в конце .

Подстроками строки « apple » будут: « a », « ap », « app », « appl », « appl », « p », « pp », « ppl », « pple », « pl ». , " ple ", " l ", " le " " e ", "" (обратите внимание на пустую строку в конце).

Подстрока

Строка — это подстрока (или фактор) [1] строки , если существуют две строки и такие, что . В частности, пустая строка является подстрокой каждой строки.

Пример: строка равна подстрокам (и подпоследовательностям) с двумя разными смещениями:anabanana

банан ||||| ана|| ||| ана

Первое вхождение получается с помощью и , а второе вхождение получается с помощью и является пустой строкой.bnaban

Подстрока строки является префиксом суффикса строки и, что эквивалентно, суффиксом префикса; например, nanявляется префиксом nana, который, в свою очередь, является суффиксом banana. Если является подстрокой , это также подпоследовательность , что является более общим понятием. Вхождения данного шаблона в данную строку можно найти с помощью алгоритма поиска строк . Поиск самой длинной строки, которая равна подстроке из двух или более строк, известен как задача о самой длинной общей подстроке . В математической литературе подстроки также называют подсловами (в Америке) или факторами (в Европе). [ нужна цитата ]

Префикс

Строка является префиксом [1] строки , если существует строка такая, что . Правильный префикс строки не равен самой строке; [2] некоторые источники [3] дополнительно ограничивают непустой собственный префикс. Префикс можно рассматривать как частный случай подстроки.

Пример: строка banравна префиксу (а также подстроке и подпоследовательности) строки banana:

банан|||запретить

Символ квадратного подмножества иногда используется для обозначения префикса, что означает, что это префикс . Это определяет бинарное отношение к строкам, называемое префиксным отношением , которое представляет собой особый вид префиксного порядка .

Суффикс

Строка является суффиксом [1] строки , если существует строка такая, что . Правильный суффикс строки не равен самой строке. Более ограниченная интерпретация состоит в том, что он также не пуст. [1] Суффикс можно рассматривать как частный случай подстроки.

Пример: строка nanaравна суффиксу (а также подстроке и подпоследовательности) строки banana:

банан |||| бабуля

Суффиксное дерево для строки — это структура данных дерева , которая представляет все ее суффиксы. Суффиксные деревья имеют большое количество приложений в строковых алгоритмах . Массив суффиксов представляет собой упрощенную версию этой структуры данных, в которой перечислены начальные позиции суффиксов в алфавитном порядке; у него много одинаковых приложений.

Граница

Граница — это суффикс и префикс одной и той же строки, например «баб» — это граница слова «бабаб» (а также «бабуин, поедающий шашлык»). [ нужна цитата ]

Суперструна

Суперстрока конечного набора строк — это одна строка, содержащая каждую строку в качестве подстроки. Например, это суперстрока , более короткая. Объединение всех членов в произвольном порядке всегда дает тривиальную суперстроку . Найти суперструны минимально возможной длины — более интересная задача.

Строка, содержащая все возможные перестановки указанного набора символов, называется суперперестановкой .

Смотрите также

Рекомендации

  1. ^ abc Лотер, М. (1997). Комбинаторика слов . Кембридж: Издательство Кембриджского университета. ISBN 0-521-59924-5.
  2. ^ Келли, Дин (1995). Автоматы и формальные языки: Введение . Лондон: Prentice-Hall International. ISBN 0-13-497777-7.
  3. ^ Гасфилд, Дэн (1999) [1997]. Алгоритмы на строках, деревьях и последовательностях: информатика и вычислительная биология . США: Издательство Кембриджского университета. ISBN 0-521-58519-8.