Основные определения, связанные со строками — различия между версиями
(→Отношения между строками) |
(→Отношения между строками) |
||
Строка 64: | Строка 64: | ||
{{Определение | {{Определение | ||
|id=period | |id=period | ||
− | |definition='''Период''' (англ. ''Period'') строки <tex>\alpha</tex> {{---}} число <tex>p</tex>: <tex>\forall i = 1 \ldots |\alpha| - p | + | |definition='''Период''' (англ. ''Period'') строки <tex>\alpha</tex> {{---}} число <tex>p</tex>: <tex>\forall i = 1 \ldots |\alpha| - p, |
+ | \alpha [i] = \alpha[i + p]</tex>. | ||
}} | }} | ||
Версия 23:06, 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.