1.2. Математическое введение

 

 
  Графы бывают ориентированные и неориентированные. Мы будем рассматривать только ориентированные графы и называть их просто графами.

Графом называется пара (A,R), где A - множество вершин графа, а R - множество его дуг, т.е пар вида (a,b), a,b Î A. Графически дуга представляется в виде стрелки, выходящей из вершины a и входящей в вершину b

Граф называется размеченным, если задано множество меток S, функция разметки вершин : A ® S и функция разметки дуг : R ® S. Графически эти функции представляются надписыванием меток на вершинах и дугах. Множество меток может разделяться на два непересекающихся подмножества меток вершин и меток дуг.

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

Два графа (A1,R1) и (A2,R2) называются изоморфными, если существует взаимнооднозначное отображение множества A1 на A2, для которого (a,bΠR1  (h(a),h(b)) Î R2. Таким образом, h устанавливает соответствие между вершинами и дугами графов. Для изоморфности размеченных и упорядоченных графов требуется ещё, чтобы это соответствие сохраняло разметку вершин и дуг и порядок дуг.

Степенью вершины по входу называется число входящих в неё дуг, а степенью по выходу - число выходящих дуг.

Последовательность вершин (a0,a1,...,an), n і 0, называется путём длины n из a0 в an, если (ai,ai+1ΠR для всех 0 Ј i < n. В этом случае an достижима из a0. Циклом называется путь, в котором a0 = an. Граф без циклов называется ациклическим. Замыканием пути (a0,a1,...,an) называется дуга (a0,an).

Деревом называется граф, у которого

  • одна вершина, называемая корнем, имеет степень по входу 0;
  • остальные вершины имеют степень по входу 1;
  • все вершины достижимы из корня.

У т в е р ж д е н и е  1.1. Дерево обладает следующими свойствами:

  1. Для каждой вершины дерева существует единственный путь, ведущий в эту вершину из корня.
  2. Дерево является ациклическим графом.

Доказательство. Пусть r - корень дерева. 

  1. Так как каждая вершина достижима из корня, существует хотя бы один путь в неё из корня. Предположим, что в вершину a есть два различных пути из r. Тогда они имеют вид (r,a1,...,an,c1,...,ck) и (r,b1,...,bm,c1,...,ck), где ck = a и an  bm. Тогда c1 имеет не менее двух входящих дуг - из an и bm, что невозможно для дерева.
  2. Пусть (a0,a1,...,an) - цикл, т.е. a0 = an. Он не проходит через корень, иначе корень имел бы входящую дугу. Пусть (r,...,a0) - путь из корня в a0 длины m. Тогда (r,...,a0,a1,...,an) - путь из корня в a0 длины m + n, что противоречит первой части утверждения.

Ђ

Деревья в программировании обычно изображаются корнем вверх, с дугами направленными вниз (и без стрелок) и упорядоченными (в упорядоченном дереве) слева направо. Листом дерева называется его вершина со степенью по выходу 0. Последовательность листьев, перечисленных слева направо, называется кроной.

Если в дереве (a,bΠR, то b называется сыном a, а a - родителем b. Если из a достижима b, то b называется потомком a, а a - предком b. Эти названия подчёркивают иерархические отношения в дереве.

Высотой дерева называется наибольшая длина пути от корня к листу. Дерево высоты 0 состоит из одного корня. 

Т е о р е м а  1.1 (о неограниченной высоте). Пусть T - бесконечное множество деревьев с ограниченной степенью по выходу. Тогда не существует константы, ограничивающей высоту деревьев из T. То же справедливо для множеств упорядоченных и размеченных деревьев с одним и тем же конечным множеством меток.

Доказательство. Предположим, что высота деревьев из T ограничена константой h. Пусть степень вершин по выходу ограничена константой m. Построим дерево t0 высоты h и степенью по выходу всех вершин, кроме листьев, равной m. Это дерево конечно, т.к. число его вершин равно (mn+1-1)/(m-1). Каждое дерево t из T можно наложить на t0, начиная с корня, так, чтобы каждая дуга t совпала с одной дугой t0. Очевидно, что способов такого наложения конечное количество. Значит, T - конечное множество, что противоречит условию. Добавление нумерации и меток увеличивает число способов наложения деревьев из T на t0, но оставляет его конечным.
Ђ

Поддеревом дерева t с корнем a Î t называется граф с множеством вершин, достижимых в t из a, и дугами, соединяющими их в t. Если  упорядочено и размечено, то порядок дуг и разметка в поддереве должны сохраняться. Очевидно, что поддерево также является деревом.