Основные определения, связанные со строками — различия между версиями
Строка 67: | Строка 67: | ||
}} | }} | ||
+ | Пусть <tex>\beta = cacao</tex>, тогда <tex>\beta[1] = c, \beta[4] = a </tex>. | ||
+ | |||
{{Определение | {{Определение | ||
|id=period | |id=period | ||
Строка 74: | Строка 76: | ||
Пусть <tex>\alpha = acaacaa</tex>, тогда <tex>p = 3</tex> {{---}} период строки <tex>\alpha = acaacaa</tex>. | Пусть <tex>\alpha = acaacaa</tex>, тогда <tex>p = 3</tex> {{---}} период строки <tex>\alpha = acaacaa</tex>. | ||
+ | |||
{{Утверждение | {{Утверждение |
Версия 00:50, 10 июня 2014
Базовые определения
Определение: |
Символ (англ. symbol) — объект, имеющий собственное содержание и уникальную читаемую форму. |
Определение: |
Алфавит (англ. alphabet) | — непустое множество символов.
Примеры:
- — бинарный алфавит.
- — алфавит, лежащий в основе азбуки Морзе.
- — английский алфавит.
- — алфавит цифр.
- Нотные знаки
Определение: |
Нейтральный элемент — пустая строка | . Для любой строки верно .
Определение: |
Замыкание Клини (англ. Kleene closure) — унарная операция над множеством строк либо символов. Замыкание Клини множества | есть .
Если , то .
Определение: |
Цепочка (англ. chain) — элемент конечной длины из | .
Определение: |
Конкатенация (англ. concatenation) — бинарная, ассоциативная, некоммутативная операция, определённая на словах данного алфавита. Конкатецния строк | и является строка .
Определение: |
Моноид (англ. monoid) — множество, на котором задана бинарная ассоциативная операция, обычно именуемая умножением, и в котором существует нейтральный элемент. | с операцией конкатенации и нейтральным элементом образуют моноид
Отношения между строками
Определение: |
Префикс (англ. prefix) строки | — строка .
Пусть , тогда — префикс .
Определение: |
Суффикс (англ. suffix) строки | — строка .
Пусть , тогда — суффикс .
Определение: |
Бордер (англ. circumfix) строки | — строка .
Пусть , тогда — бордер .
Определение: |
— обращение к символу под номером строки . |
Пусть , тогда .
Определение: |
Период (англ. 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.