Основные определения, связанные со строками — различия между версиями
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
Базовые определения
| Определение: |
| Алфавитом называется конечное непустое множество символов. |
| Определение: |
| Цепочкой (словом, строкой) конечной длины обозначим . |
| Определение: |
| Конкатенацией строк и является строка . Конкатенация является ассоциативной операцией. |
| Определение: |
| Нейтральным элементом называется элемент, для которого верно . |
Отношения между строками
| Определение: |
| называется префиксом , если . Аналогично определяется суффикс строки. |
Пусть , тогда
- если , то является префиксом
- если , то суффиксом.
| Определение: |
| называется бордером , если одновременно является и суффиксом и префиксом. |
Пусть , тогда будет бордером .
| Определение: |
| Строка называется периодической, если , для некоторого . |
| Определение: |
| называется периодом , если . Если , где , то строка называется сильнопериодической. |
Строка является сильнопериодической ().
| Определение: |
| Строка является подстрокой , если . |
Строка является подстрокой .
| Определение: |
Строка , если:
|