Изменения

Перейти к: навигация, поиск

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

1968 байт добавлено, 21:55, 9 июня 2014
Нет описания правки
 == Базовые определения == {{Определение|definition='''Символ''' (англ. ''Symbol'') {{---}} объект, имеющий собственное содержание и уникальную читаемую форму.}} {{Определение|definition='''Алфавит''' (англ. ''Alphabet'') <tex>\Sigma</tex> {{---}} непустое множество символов.}} Примеры:* <tex>\Sigma = \left\{0, 1\right\} </tex> {{---}} бинарный алфавит.* <tex>\Sigma = \left\{\cdot, -\right\} </tex> {{---}} алфавит, лежащий в основе азбуки Морзе.* <tex>\Sigma = \left\{a, b, c, d, ... , z\right\} </tex> {{---}} английский алфавит.* <tex>\Sigma = \left\{0, 1, 2, ..., 9\right\} </tex> {{---}} алфавит цифр.* Нотные знаки
{{Определение
|definition ='''АлфавитомНейтральный элемент''' {{---}} пустая строка <tex>\varepsilon</tex>: <tex>\varepsilon \in \Sigma^{0}</tex>. Для любой строки <tex>\alpha \in \Sigma^k</tex> верно: <tex>\alpha\varepsilon=\varepsilon\alpha=\alpha</tex> называется конечное непустое множество элементов, называемых символами.
}}
{{Определение
|definition ='''Нейтральный элементЗамыкание Клини''' (пустую строкуангл. ''Kleene closure'') обозначим как {{---}} унарная операция над множеством строк либо символов. Замыкание Клини множества <tex>\varepsilon Sigma</tex> есть <tex>\in Sigma^* : \Sigma^* = \bigcup\limits_{n = 0}^\infty \Sigma^n</tex>. Для любой строки }} Если <tex>\alphaSigma = \left\{0, 1\right\}</tex> верно: , то <tex>\alphaSigma^* = \left\{\varepsilon=, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, ... \varepsilonright\alpha} </tex>. {{Определение|definition='''Цепочка''' (англ. ''Chain'') {{---}} элемент конечной длины из <tex>\alphaSigma^*</tex>.
}}
{{Определение
|definition ='''ЦепочкойКонкатенация''' (словомангл. ''Concatenation'') {{---}} бинарная, строкой) конечной длины обозначим элемент из ассоциативная, некоммутативная операция, определённая на словах данного алфавита. Конкатецния строк <tex>\alpha \in \Sigma^* : k</tex> и <tex>\beta \in \Sigma^* = m</tex> является строка <tex>\bigcupalpha\limits_{n = 0}^beta \infty in \Sigma^n{k + m}</tex>.
}}
{{Определение
|definition ='''КонкатенациейМоноид''' строк (англ. ''Monoid'') {{---}} множество, на котором задана бинарная ассоциативная операция, обычно именуемая умножением, и в котором существует нейтральный элемент. <tex>\alpha \in \Sigma^k*</tex> с операцией конкатенации и нейтральным элементом <tex>\beta \in \Sigma^m</tex> является строка <tex>\alpha\beta \in \Sigma^{k+m}varepsilon</tex>. Конкатенация является ассоциативной операцией.образуют моноид
}}
==Отношения между строками== {{Определение|id=prefix|definition='''Префикс''' (англ. ''Prefix'') строки <tex>\Sigma^*beta</tex> с операцией конкатенации и нейтральным элементом {{---}} строка <tex>\varepsilonalpha</tex> образуют моноид. Данный моноид совпадает со свободным над : <tex>\Sigmabeta = \alpha \gamma</tex>.}}
Пусть <tex>\beta =\underline{abr}acadabra</tex>, тогда <tex>\alpha = Отношения между строками ==abr</tex> {{---}} префикс <tex>\beta</tex>.
{{Определение
|id=suffix|definition ='''Суффикс''' (англ. ''Suffix'') строки <tex>\alphabeta</tex> называется '''префиксом''' {{---}} строка <tex>\betaalpha</tex>, если : <tex>\beta = \gamma \alpha \gamma</tex>. Аналогично определяется '''суффикс''' строки.
}}
Пусть <tex>\beta = \underline{abr}acadaabracada\underline{bra}</tex>, тогда*если <tex>\alpha = abr</tex>, то <tex>\alpha</tex> является префиксом <tex>\beta</tex>*если <tex>\alpha = bra</tex>, то <tex>\alpha</tex> является суффиксом {{---}} суффикс <tex>\beta</tex>.
{{Определение
|definition =
<tex>\alpha</tex> называется '''бордером''' <tex>\beta</tex>, если <tex>\alpha</tex> одновременно является и суффиксом и префиксом <tex>\beta</tex>.
|id=border
|definition='''Бордер''' (англ. ''Circumfix'') строки <tex>\beta</tex> {{---}} строка <tex>\alpha</tex>: <tex>\beta = \gamma \alpha = \alpha \eta</tex>.
}}
Пусть <tex>\beta = \underline{abra}cad\underline{abra}</tex>, тогда <tex>\alpha = abra</tex> будет бордером {{---}} бордер <tex>\beta</tex>.
{{Определение
|id=period|definition =Число <tex>p</tex> называется '''периодомПериод''' (англ. ''Period'' ) строки <tex>\alpha</tex> ({{---}} число <tex>n = |\alpha|p</tex>), если : <tex>\forall i = 1 \ldots n |\alpha| - p</tex> <tex>\alpha [i] = \alpha[i + p]</tex>.|id=border
}}
Строка Пусть <tex>\alpha = acaacaa</tex> является периодической (, тогда <tex>p = 3</tex>){{---}} период строки <tex>\alpha = acaacaa</tex>.
{{Определение
|id=hardperiod|definition =Строка <tex>\alpha \neq \varepsilon</tex>, имеющая период <tex>p</tex> (c периодом <tex>p \neq |\alpha|</tex>), называется '''сильнопериодической''' с периодом <tex>p</tex>, если <tex>|\alpha| \bmod p = 0</tex>.
}}
Строка <tex>\alpha = acaacaaca</tex> является сильнопериодической (с периодом <tex>p = 3</tex>).
{{Определение
|id=substring|definition =Строка <tex>\alpha</tex> является '''подстрокойПодстрока''' (англ. ''Substring'' <tex>\beta</tex>, если <tex>\beta = \gamma \alpha \delta</tex>) {{---}} некоторая непустая связная часть строки.
}}
Строка Пусть <tex>\alpha beta = abr\underline{aca}dabra</tex> является подстрокой , тогда <tex>\beta alpha = abr\underlineaca</tex> {{aca---}}dabraподстрока строки <tex>\beta</tex>.
{{Определение
|definition =
Строка <tex>\alpha \le \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 < \le d</tex>
}}
Строка <tex>\alpha = aca \le \beta = acaaba</tex>, т.к. является префиксом <tex>\beta</tex>.
Строка <tex>\alpha = acaa \le \beta = acab</tex>, т.к. <tex>a \le b</tex>.
Строка <tex>\alpha = acaa \le \beta = acab</tex>Смотри также ==[[Период и бордер, т.к. <tex>a \le b</tex>.их связь]] [[Слово Фибоначчи]] [[Слово Туэ-Морса]]
==Литература==
* Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 2-е изд.
* Kelley, Dean (1995). Automata and Formal Languages: An Introduction. London: Prentice-Hall International. ISBN 0-13-497777-7.
* Gusfield, Dan (1999) [1997]. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. USA: Cambridge University Press. ISBN 0-521-58519-8.
[[Категория:Алгоритмы и структуры данных]]
[[Категория:Основные определения. Простые комбинаторные свойства слов]]
39
правок

Навигация