Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_Разное / шп_тео.doc
Скачиваний:
3
Добавлен:
16.04.2013
Размер:
5.49 Mб
Скачать

Графы и деревья.

Рассмотрим мн-во , соединенных некоторым образом точек. Назовем мн-вом вершин, а его элементы вершинами. Направленным графом называется совокупность конечного мн-ва вершин и определенного на этом мн-ве отношения . Направленный граф можно представить графически следующим образом. Расположим на листе бумаги все вершины мн-ва . Каждую вершину изобразим в виде окружности, внутри которой вписан элемент множества . Две вершины и соединим отрезком линии, если существует пара . В этом случае будем говорить, что граф содержит ребро .

Если в графе имеется некоторая последовательность вершин , где и для , говорят, что в графе существует путь длиной из вершины в вершину . Для . Граф может содержать подграфы вида , если и . Два подграфа, не имеющие общих вершин, называются раздельными подграфами.

Рекурсивное определение дерева. Деревом называют такой направленный граф, который имеет либо одну единственную вершину, называемую корнем , либо совокупность корня, нескольких раздельных подграфов-деревьев и ребер от корня дерева до вершин-корней деревьев . Дерево представляют в виде расположенного вверху корня и направленных сверху вниз ребер. В этом случае можно не указывать направление ребер. Вершину дерева из которой не выходит ни одного ребра называют листом, остальные вершины - внутренними вершинами дерева.

Строки.

Под строкой всегда понимается некоторая последовательность символов , каждый из которых принадлежит некоторому конечному алфавиту . В дальнейшем для обозначения отдельных символов будем использовать строчные буквы , а для обозначения строк - буквы . Строка, состоящая из символов , будет обозначаться . Длина произвольной строки представляет собой число символов в строке и обозначается. В общем случае существует пустая строка , которая имеет нулевую длину и обозначается .

Формально строки символов в алфавите определяются следующим образом:

  • - строка в ;

  • если - строка в и , то - строка в ;

  • - строка тогда и только тогда, когда она является таковой в силу первых двух положений.

Если и строки, то строка называется конкатенацией (сцеплением или объединением) и . Причём , но . Для пустой строки справедливо следующее утверждение для любого . Обращением строки называется строка, записанная в обратном порядке .

Пусть , и произвольные строки в некотором алфавите и строка , тогда строка называется префиксом строки , а строка - суффиксом строки .

Формальные языки.

Обозначим через множество определенных над алфавитом строк. Например, для

Множество всех строк в за исключением обозначается . Таким образом .

Формальным языком над алфавитом называется произвольное подмножество множества . Пусть и - два формальных языка, тогда их конкатенация (объединение) также является формальным языком. Например, для языков и , . Конкатенация формального языка с самим собой записывается в виде . В общем случае это выглядит так , , для . Тогда можно определить как , а

Соседние файлы в папке _Разное