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

Материал из Викиконспекты
Версия от 17:58, 3 июня 2012; Proshev (обсуждение | вклад) (Отношения между строками)
Перейти к: навигация, поиск

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

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


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


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


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


[math]\Sigma^*[/math] с операцией конкатенации и нейтральным элементом [math]\varepsilon[/math] образуют моноид. Данный моноид совпадает со свободным над [math]\Sigma[/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]p[/math] называется периодом [math]\alpha[/math], если [math]\forall i = 1 \ldots n - p[/math] [math]\alpha [i] = \alpha[i + p][/math].


Определение:
Строка [math]\alpha[/math] называется сильнопериодической, если [math]n[/math] [math]mod[/math] [math]p = 0[/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]