Основные определения, связанные со строками — различия между версиями
Proshev (обсуждение | вклад) |
Proshev (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | == Базовые определения == | ||
+ | |||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
Строка 13: | Строка 15: | ||
'''Конкатенацией''' строк <tex>\alpha = \sum^k</tex> и <tex>\beta = \sum^m</tex> является строка <tex>\alpha\beta = \sum^{k+m}</tex>. Конкатенация является ассоциативной операцией. | '''Конкатенацией''' строк <tex>\alpha = \sum^k</tex> и <tex>\beta = \sum^m</tex> является строка <tex>\alpha\beta = \sum^{k+m}</tex>. Конкатенация является ассоциативной операцией. | ||
}} | }} | ||
− | |||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Нейтральным элементом''' <tex>\ | + | '''Нейтральным элементом''' <tex>\varepsilon \in \sum^{0}</tex> называется элемент, для которого верно <tex>\alpha\varepsilon=\epsilon\alpha=\alpha</tex>. |
}} | }} | ||
+ | |||
+ | == Отношения между строками == | ||
{{Определение | {{Определение | ||
Строка 24: | Строка 27: | ||
<tex>\alpha</tex> называется '''префиксом''' <tex>\beta</tex>, если <tex>\beta = \alpha \gamma</tex>. Аналогично определяется '''суффикс''' строки. | <tex>\alpha</tex> называется '''префиксом''' <tex>\beta</tex>, если <tex>\beta = \alpha \gamma</tex>. Аналогично определяется '''суффикс''' строки. | ||
}} | }} | ||
+ | |||
+ | Пусть <tex>\beta = abracadabra</tex>, тогда | ||
+ | *если <tex>\alpha = abrac</tex>, то <tex>\alpha</tex> является префиксом <tex>\beta</tex> | ||
+ | *если <tex>\alpha = adabra</tex>, то суффиксом. | ||
{{Определение | {{Определение | ||
Строка 29: | Строка 36: | ||
<tex>\alpha</tex> называется '''бордером''' <tex>\beta</tex>, если <tex>\alpha</tex> одновременно является и суффиксом и префиксом. | <tex>\alpha</tex> называется '''бордером''' <tex>\beta</tex>, если <tex>\alpha</tex> одновременно является и суффиксом и префиксом. | ||
}} | }} | ||
+ | |||
+ | Пусть <tex>\beta = abracadabra</tex>, тогда <tex>\alpha = abra</tex> будет бордером <tex>\beta</tex>. | ||
{{Определение | {{Определение | ||
Строка 34: | Строка 43: | ||
Строка <tex>\alpha</tex> называется '''периодической''', если <tex>\alpha = \beta^k</tex>, для некоторого <tex>k > 1</tex>. | Строка <tex>\alpha</tex> называется '''периодической''', если <tex>\alpha = \beta^k</tex>, для некоторого <tex>k > 1</tex>. | ||
}} | }} | ||
+ | |||
+ | {{Определение | ||
+ | |definition = | ||
+ | <tex>r</tex> называется '''периодом''' <tex>\alpha</tex>, если <tex>\forall i = 1 \ldots n - r</tex> <tex>\alpha [i] = \alpha[i + r]</tex>. Если <tex>n = kr</tex>, где <tex>k > 1</tex>, то строка называется '''сильнопериодической'''. | ||
+ | }} | ||
+ | |||
+ | Строка <tex>\alpha = abraabraabra</tex> является сильнопериодической (<tex>\beta = abra, k = 3, r = 4</tex>). | ||
+ | |||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
Строка <tex>\alpha</tex> является '''подстрокой''' <tex>\beta</tex>, если <tex>\beta = \gamma \alpha \delta</tex>. | Строка <tex>\alpha</tex> является '''подстрокой''' <tex>\beta</tex>, если <tex>\beta = \gamma \alpha \delta</tex>. | ||
}} | }} | ||
+ | |||
+ | Строка <tex>\alpha = aca</tex> является подстрокой <tex>\beta = abracadabra</tex>. | ||
+ | |||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
Строка 43: | Строка 63: | ||
* <tex>\alpha</tex> префикс <tex>\beta</tex> | * <tex>\alpha</tex> префикс <tex>\beta</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>\gamma</tex> общий префикс <tex>\alpha</tex> и <tex>\beta</tex>, <tex>\alpha = \gamma c \delta</tex>, <tex>\beta = \gamma d \xi</tex> и <tex>c < d</tex> | ||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
[[Категория:Алгоритмы и структуры данных]] | [[Категория:Алгоритмы и структуры данных]] | ||
[[Категория:Основные определения. Простые комбинаторные свойства слов]] | [[Категория:Основные определения. Простые комбинаторные свойства слов]] |
Версия 23:43, 31 марта 2012
Базовые определения
Определение: |
Алфавитом | называется конечное непустое множество символов.
Определение: |
Цепочкой (словом, строкой) конечной длины обозначим | .
Определение: |
Конкатенацией строк | и является строка . Конкатенация является ассоциативной операцией.
Определение: |
Нейтральным элементом | называется элемент, для которого верно .
Отношения между строками
Определение: |
называется префиксом , если . Аналогично определяется суффикс строки. |
Пусть , тогда
- если , то является префиксом
- если , то суффиксом.
Определение: |
называется бордером , если одновременно является и суффиксом и префиксом. |
Пусть , тогда будет бордером .
Определение: |
Строка | называется периодической, если , для некоторого .
Определение: |
называется периодом , если . Если , где , то строка называется сильнопериодической. |
Строка является сильнопериодической ( ).
Определение: |
Строка | является подстрокой , если .
Строка является подстрокой .
Определение: |
Строка
| , если: