Основные определения, связанные со строками — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
Строка 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>\epsilon \in \sum^{0}</tex> называется элемент, для которого верно <tex>\alpha\epsilon=\epsilon\alpha=\alpha</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>
}}
 
{{Определение
 
|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>, то строка называется '''сильнопериодической'''.
 
 
}}
 
}}
  
 
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория:Алгоритмы и структуры данных]]
 
[[Категория:Основные определения. Простые комбинаторные свойства слов]]
 
[[Категория:Основные определения. Простые комбинаторные свойства слов]]

Версия 23:43, 31 марта 2012

Базовые определения

Определение:
Алфавитом [math]\sum[/math] называется конечное непустое множество символов.


Определение:
Цепочкой (словом, строкой) конечной длины обозначим [math]\sum^p : \sum^p = \bigcup\limits_{n \in \mathbb N} \sum^n[/math].


Определение:
Конкатенацией строк [math]\alpha = \sum^k[/math] и [math]\beta = \sum^m[/math] является строка [math]\alpha\beta = \sum^{k+m}[/math]. Конкатенация является ассоциативной операцией.


Определение:
Нейтральным элементом [math]\varepsilon \in \sum^{0}[/math] называется элемент, для которого верно [math]\alpha\varepsilon=\epsilon\alpha=\alpha[/math].


Отношения между строками

Определение:
[math]\alpha[/math] называется префиксом [math]\beta[/math], если [math]\beta = \alpha \gamma[/math]. Аналогично определяется суффикс строки.


Пусть [math]\beta = abracadabra[/math], тогда

  • если [math]\alpha = abrac[/math], то [math]\alpha[/math] является префиксом [math]\beta[/math]
  • если [math]\alpha = adabra[/math], то суффиксом.


Определение:
[math]\alpha[/math] называется бордером [math]\beta[/math], если [math]\alpha[/math] одновременно является и суффиксом и префиксом.


Пусть [math]\beta = abracadabra[/math], тогда [math]\alpha = abra[/math] будет бордером [math]\beta[/math].


Определение:
Строка [math]\alpha[/math] называется периодической, если [math]\alpha = \beta^k[/math], для некоторого [math]k \gt 1[/math].


Определение:
[math]r[/math] называется периодом [math]\alpha[/math], если [math]\forall i = 1 \ldots n - r[/math] [math]\alpha [i] = \alpha[i + r][/math]. Если [math]n = kr[/math], где [math]k \gt 1[/math], то строка называется сильнопериодической.


Строка [math]\alpha = abraabraabra[/math] является сильнопериодической ([math]\beta = abra, k = 3, r = 4[/math]).


Определение:
Строка [math]\alpha[/math] является подстрокой [math]\beta[/math], если [math]\beta = \gamma \alpha \delta[/math].


Строка [math]\alpha = aca[/math] является подстрокой [math]\beta = abracadabra[/math].


Определение:
Строка [math]\alpha \le \beta[/math], если:
  • [math]\alpha[/math] префикс [math]\beta[/math]
  • [math]\gamma[/math] общий префикс [math]\alpha[/math] и [math]\beta[/math], [math]\alpha = \gamma c \delta[/math], [math]\beta = \gamma d \xi[/math] и [math]c \lt d[/math]