Основные определения, связанные со строками — различия между версиями
Proshev (обсуждение | вклад) (→Отношения между строками) |
Proshev (обсуждение | вклад) |
||
Строка 30: | Строка 30: | ||
}} | }} | ||
− | Пусть <tex>\beta = | + | Пусть <tex>\beta = \underline{abr}acada\underline{bra}</tex>, тогда |
− | *если <tex>\alpha = | + | *если <tex>\alpha = abr</tex>, то <tex>\alpha</tex> является префиксом <tex>\beta</tex> |
− | *если <tex>\alpha = | + | *если <tex>\alpha = bra</tex>, то суффиксом. |
{{Определение | {{Определение | ||
Строка 40: | Строка 40: | ||
}} | }} | ||
− | Пусть <tex>\beta = | + | Пусть <tex>\beta = \underline{abra}cad\underline{abra}</tex>, тогда <tex>\alpha = abra</tex> будет бордером <tex>\beta</tex>. |
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | <tex>p</tex> называется '''периодом''' <tex>\alpha</tex>, если <tex>\forall i = 1 \ldots n - p</tex> <tex>\alpha [i] = \alpha[i + p]</tex>. | + | <tex>p</tex> называется '''периодом''' <tex>\alpha</tex>, если <tex>\forall i = 1 \ldots [n / p] * p - p \quad</tex> <tex>\alpha [i] = \alpha[i + p]</tex>. |
|id=border | |id=border | ||
}} | }} | ||
+ | |||
+ | Строка <tex>\alpha = acaacab</tex> является сильнопериодической (<tex>p = 3</tex>). | ||
{{Определение | {{Определение | ||
Строка 52: | Строка 54: | ||
Строка <tex>\alpha</tex> называется сильнопериодической, если <tex>n</tex> <tex>mod</tex> <tex>p = 0</tex>. | Строка <tex>\alpha</tex> называется сильнопериодической, если <tex>n</tex> <tex>mod</tex> <tex>p = 0</tex>. | ||
}} | }} | ||
+ | |||
+ | Строка <tex>\alpha = acaacaaca</tex> является сильнопериодической (<tex>p = 3</tex>). | ||
{{Определение | {{Определение | ||
Строка 58: | Строка 62: | ||
}} | }} | ||
− | Строка <tex>\alpha = aca</tex> является подстрокой <tex>\beta = | + | Строка <tex>\alpha = aca</tex> является подстрокой <tex>\beta = abr\underline{aca}dabra</tex>. |
{{Определение | {{Определение | ||
Строка 66: | Строка 70: | ||
* <tex>\gamma</tex> общий префикс <tex>\alpha</tex> и <tex>\beta</tex>, <tex>\alpha = \gamma c \delta</tex>, <tex>\beta = \gamma d \xi</tex> и <tex>c < d</tex> | * <tex>\gamma</tex> общий префикс <tex>\alpha</tex> и <tex>\beta</tex>, <tex>\alpha = \gamma c \delta</tex>, <tex>\beta = \gamma d \xi</tex> и <tex>c < d</tex> | ||
}} | }} | ||
+ | |||
+ | Строка <tex>\alpha = aca \le \beta = acaaba</tex>, т.к. является префиксом <tex>\beta</tex>. | ||
+ | |||
+ | Строка <tex>\alpha = acaa \le \beta = acab</tex>, т.к. <tex>a \le b</tex>. | ||
+ | |||
+ | ==Литература== | ||
+ | * Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд. | ||
[[Категория:Алгоритмы и структуры данных]] | [[Категория:Алгоритмы и структуры данных]] | ||
[[Категория:Основные определения. Простые комбинаторные свойства слов]] | [[Категория:Основные определения. Простые комбинаторные свойства слов]] |
Версия 11:49, 21 июня 2012
Базовые определения
Определение: |
Алфавитом | называется конечное непустое множество элементов, называемых символами.
Определение: |
Нейтральным элементом (пустой строкой) | называется элемент, для которого верно .
Определение: |
Цепочкой (словом, строкой) конечной длины обозначим | .
Определение: |
Конкатенацией строк | и является строка . Конкатенация является ассоциативной операцией.
с операцией конкатенации и нейтральным элементом образуют моноид. Данный моноид совпадает со свободным над .
Отношения между строками
Определение: |
называется префиксом , если . Аналогично определяется суффикс строки. |
Пусть , тогда
- если , то является префиксом
- если , то суффиксом.
Определение: |
называется бордером , если одновременно является и суффиксом и префиксом. |
Пусть , тогда будет бордером .
Определение: |
называется периодом , если . |
Строка является сильнопериодической ( ).
Определение: |
Строка | называется сильнопериодической, если .
Строка является сильнопериодической ( ).
Определение: |
Строка | является подстрокой , если .
Строка является подстрокой .
Определение: |
Строка
| , если:
Строка , т.к. является префиксом .
Строка
, т.к. .Литература
- Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд.