Основные определения, связанные со строками — различия между версиями
 (→Отношения между строками)  | 
				 (→Отношения между строками)  | 
				||
| Строка 64: | Строка 64: | ||
{{Определение  | {{Определение  | ||
|id=period  | |id=period  | ||
| − | |definition='''Период''' (англ. ''Period'') строки <tex>\alpha</tex> {{---}} число <tex>p</tex>: <tex>\forall i = 1 \ldots |\alpha| - p \alpha [i] = \alpha[i + p]</tex>.  | + | |definition='''Период''' (англ. ''Period'') строки <tex>\alpha</tex> {{---}} число <tex>p</tex>: <tex>\forall i = 1 \ldots |\alpha| - p  \alpha [i] = \alpha[i + p]</tex>.    | 
}}  | }}  | ||
Пусть <tex>\alpha = acaacaa</tex>, тогда <tex>p = 3</tex> {{---}} период строки <tex>\alpha = acaacaa</tex>.  | Пусть <tex>\alpha = acaacaa</tex>, тогда <tex>p = 3</tex> {{---}} период строки <tex>\alpha = acaacaa</tex>.  | ||
| + | |||
| + | {{Утверждение  | ||
| + | |statement=Пусть известна строка <tex>\tau</tex> {{---}} период <tex>\alpha</tex> и <tex>|\alpha|</tex>, тогда можно восстановить всю строку <tex>\alpha</tex>.  | ||
| + | |proof=Из определения периода строки следует, что <tex>\alpha[1...|\tau|] = \alpha[|\tau| + 1...2*|\tau|] = ... = \alpha[|\tau|*(k - 1) + 1...|\tau|*k] </tex>, где <tex>k = \lfloor\frac{|\alpha|}{|\tau|} \rfloor</tex>. Таким образом <tex>\alpha = \sum_{i=1}^{\lfloor\frac{|\alpha|}{|\tau|} \rfloor} \tau + \tau[1...|\alpha| mod |\tau|]</tex>.  | ||
| + | }}  | ||
| + | |||
{{Определение  | {{Определение  | ||
| Строка 85: | Строка 91: | ||
{{Определение  | {{Определение  | ||
|definition =  | |definition =  | ||
| − | Строка <tex>\alpha   | + | Строка <tex>\alpha</tex> '''лексикографически меньше''' строки <tex>\beta</tex> (<tex>\alpha < \beta</tex>), если  | 
| − | + | 1. <tex>\alpha</tex> {{---}} префикс <tex>\beta</tex>  | |
| − | + | ||
| + | ''или''  | ||
| + | |||
| + | 2. <tex> \mathcal {9} k\leqslant \min(|\alpha|, |\beta|): \alpha[k] < \beta[k] </tex>  и при этом <tex> \mathcal {8} j < k ~\alpha_j = \beta_j </tex>  | ||
}}  | }}  | ||
Версия 22:57, 9 июня 2014
Базовые определения
| Определение: | 
| Символ (англ. Symbol) — объект, имеющий собственное содержание и уникальную читаемую форму. | 
| Определение: | 
| Алфавит (англ. Alphabet) — непустое множество символов. | 
Примеры:
- — бинарный алфавит.
 - — алфавит, лежащий в основе азбуки Морзе.
 - — английский алфавит.
 - — алфавит цифр.
 - Нотные знаки
 
| Определение: | 
| Нейтральный элемент — пустая строка : . Для любой строки верно: . | 
| Определение: | 
| Замыкание Клини (англ. Kleene closure) — унарная операция над множеством строк либо символов. Замыкание Клини множества есть . | 
Если , то .
| Определение: | 
| Цепочка (англ. Chain) — элемент конечной длины из . | 
| Определение: | 
| Конкатенация (англ. Concatenation) — бинарная, ассоциативная, некоммутативная операция, определённая на словах данного алфавита. Конкатецния строк и является строка . | 
| Определение: | 
| Моноид (англ. Monoid) — множество, на котором задана бинарная ассоциативная операция, обычно именуемая умножением, и в котором существует нейтральный элемент. с операцией конкатенации и нейтральным элементом образуют моноид | 
Отношения между строками
| Определение: | 
| Префикс (англ. Prefix) строки — строка : . | 
Пусть , тогда  — префикс .
| Определение: | 
| Суффикс (англ. Suffix) строки — строка : . | 
Пусть , тогда  — суффикс .
| Определение: | 
| Бордер (англ. Circumfix) строки — строка : . | 
Пусть , тогда  — бордер <tex\beta</tex>.
| Определение: | 
| Период (англ. Period) строки — число : . | 
Пусть , тогда  — период строки .
| Утверждение: | 
Пусть известна строка  — период  и , тогда можно восстановить всю строку .  | 
| Из определения периода строки следует, что , где . Таким образом . | 
| Определение: | 
| Строка c периодом , называется сильнопериодической, если . | 
Строка  является сильнопериодической с периодом .
| Определение: | 
| Подстрока (англ. Substring) — некоторая непустая связная часть строки. | 
Пусть , тогда  — подстрока строки .
| Определение: | 
| Строка  лексикографически меньше строки  (), если
 1. — префикс или 2. и при этом | 
Строка , так как является префиксом .
Строка , так как .
Смотри также
Литература
- Гасфилд Д. Строки, деревья и последовательности в алгоритмах: Информатика и вычислительная биология. — 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.