Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DM_2 / ОДМлек / СРМлек52.pps
Скачиваний:
61
Добавлен:
12.05.2015
Размер:
674.3 Кб
Скачать

Розділ 5. Теорія графів

5.10. Дерева

орієнтовані і бінарні дерева

дерева пошуку

дерева прийняття рішень

Зв'язний граф Т без циклів називається деревом.

Орієнтація може не враховуватися, і тоді говорять

про ребра дерева уi. Якщо орієнтація враховується, то говорять про дуги дерева, а саме дерево називається орієнтованим, наприклад, дерево логічних можливостей, генеалогічне дерево.

Для графа G з n вершинами і m ребрами рівносильні такі властивості:

1.G зв'язний і не має циклів.

2.G зв'язний, і число його вершин на одиницю перевершує число ребер: n = m + 1.

3.G не містить циклів і n = m + 1.

4.G не містить циклів, але додавання ребра між будь-якими двома несуміжними вершинами призводить до появи циклу.

5.G зв'язний, але втрачає цю властивість при видаленні будь-якого ребра.

6.Будь-які дві вершини xi xk графа G з'єднує єдиний ланцюг.

Граф G = (X, Y) називається позначеним, якщо його вершинам привласнені фіксовані позначки, наприклад, номери 1, 2, ..., n.

Два позначених графа однакові (не різняться), якщо їхні вершини позначені однією системою позначок та існує ізоморфізм одного графа на інший, при якому зберігаються позначки всіх вершин.

Формула А.Келі Число n позначених дерев з n вершинами дорівнює nn-2

Важливий клас графів утворюють дерева з однією позначеною вершиною, яка називається коренем. Само дерево з однією позначеною («виділеною») вершиною називається кореневим деревом.

Орієнтовані і бінарні дерева

Орієнтованим деревом (інакше

кореневим орієнтованим деревом) називається орієнтований граф без циклів з властивостями:

- існує точно одна вершина r, що називається коренем, у яку не заходить жодна дуга;

- в кожну вершину, крім кореня, заходить точно одна дуга;

- існує шлях з кореня до будь-якої іншої вершини.

Кореневе дерево

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r =1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рівень 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рівень 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рівень 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

рівень 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нащадок v вершини u — це вершина v, в яку веде шлях з вершини u; при цьому u називається предком для v.

Якщо довжина цього шляху дорівнює 1, тобто з u до v веде дуга, то u — «батько» для v, a v — «син» для u.

Вершина, що не має нащадків, називається листом.

Висота дерева — це число дуг найдовшого шляху, тобто висота кореня.

Рівень вершини v — це довжина шляху з кореня у v.

Упорядкованим деревом називається дерево, в якого множина синів кожної вершини упорядкована.

Дерево висотою h називається збалансованим, якщо всі його листки розташовані на рівнях h або h+1.

Бінарним (двійковим) деревом Т називається упорядковане дерево, з кожної вершини якого може виходити не більше двох дуг.

Лівим піддеревом вершини u називається

максимальне піддерево Tl(ul) T, коренем якого є лівий син ul вершини u. Відповідно праве піддерево Tr(ur) вершини u визначається як максимальне

піддерево з коренем ur — правим сином вершини u.

 

r =1

 

 

 

 

2

 

3

 

4

5

6

 

7

 

8

 

9

10

Найпростіший варіант комп'ютерного задання двійкового дерева Т – за допомогою двох масивів: ЛІВИЙ СИН і ПРАВИЙ СИН. Якщо вершини Т занумеровані числами від 1 до n, то в масиві ЛІВИЙ СИН [і]=k коли вершина 'k' є лівим сином вершини 'і', та [і]=0 коли вершина 'і' не має лівого сина.

r =1

23

45 67

8 9

і

1

2

3

4

5

6

7

8

9

10

Л

2

4

6

0

8

0

9

0

0

0

П

3

5

7

0

0

0

10

0

0

0

Найбільш зручний для

10комп'ютерної обробки варіант задання двійкового дерева Т – за допомогою списку.

Соседние файлы в папке ОДМлек