
- •Лекція № 12. Неорієнтовані графи
- •Основні визначення
- •Радіус, діаметр і центр графа
- •Ейлерів| ланцюг|цеп|
- •Ребровий граф
- •Розфарбовування графа, хроматичний поліном
- •Ранг-поліном графа
- •Лекція № 13. Орієнтовані графи
- •Основні визначення
- •Маршрути в орграфе|
- •Транзитивне замикання
- •Компоненти сильної зв'язності графа
- •Лекція № 14. Дерева
- •Основні визначення
- •Центроїд дерева
- •Десяткове кодування
Центроїд дерева
Гілка
до
вершини v
дерева
– це максимальний підграф, що
містить|утримує|
v
як
висячої вершини. Вага
вершини k
–
найбільший розмір її гілок. Центроїд
(або центр мас) дерева C
–
безліч вершин з|із|
найменшою вагою: C
= {v|
з|із|(v)=
}.
Вага будь-якого листа|аркуша| дерева рівна розміру дерева. Висота дерева з|із| коренем, розташованим|схильним| в центроїді, не більше найменшої ваги його вершин.
Вільне дерево порядку|ладу| n з|із| двома центроїдами має парну кількість вершин, а вага кожного центроїда рівна n/2.
Теорема 14.3 (Жордана|). Кожне дерево має центроїд, що складається з однієї або двох суміжних вершин.
Приклад|зразок| 14.1. Знайти найменшу вагу вершин дерева, зображеного|змальованого| на мал. 14.1, і його центроїд.
Мал. 14.1
Рішення|розв'язання,вирішення,розв'язування|. Очевидно, що вага кожної висячої вершини дерева порядку|ладу| n рівна n – 1. Висячі вершини не можуть складати центроїд дерева, тому виключимо з|із| розгляду вершини 1, 2, 4, 6, 12, 13 і 16. Для всієї решти вершин знайдемо їх вагу, обчислюючи|обчисляючи,вичисляючи| довжину (розмір) їх гілок.
Число
гілок вершини рівне її ступеню|мірі|.
Вершини 3, 5 і 8 мають по дві гілки, розміри
яких рівні 1 і 14. До вершини 7
підходять|пасують,личать|
чотири гілки розміром 1, 2, 2 і 10. Таким
чином, її вага
.
Аналогічно обчислюються|обчисляються,вичисляють|
ваги інших вершин:
,
,
.
Мінімальна вага вершин рівна 8, отже,
центроїд дерева утворюють дві вершини
з|із|
такою ж вагою: 11 і 15.
Десяткове кодування
Дерева є важливим|поважним| видом графів. За допомогою дерев описуються бази даних, дерева моделюють алгоритми і програми, їх використовують в електротехніці, хімії. Одним з актуальних завдань|задач| в епоху комп'ютерних і телекомунікаційних мереж|сітей| є|з'являється,являється| завдання|задача| стиснення|стискування| інформації. Сюди входить і кодування дерев. Компактний запис дерева, що повністю описує його структуру, може істотно|суттєво| спростити як передачу інформації про дерево, так і роботу з|із| ним.
Існує безліч способів кодування дерев. Розглянемо|розгледимо| одне з простих кодувань помічених|позначених| дерев з|із| виділеним коренем – десяткову.
Кодуючи дерево, дотримуємося наступних|таких| правил.
Кодування починається з кореня і закінчується в корені.
Кожен крок на одну дугу від кореня кодується одиницею.
У вузлі вибираємо напрям|направлення| на вершину з|із| меншим номером.
Досягнувши листа|аркуша|, йдемо назад, кодуючи кожен крок нулем.
При русі назад у вузлі завжди вибираємо напрям|направлення| на непройдену|минути,спливти| вершину з|із| меншим номером.
Кодування в такій формі виходить достатньо|досить| компактним, проте|однак| воне не несе в собі інформації про номери вершин дерева. Існують аналогічні кодування, де замість одиниць в такому ж порядку|ладі| проставляються номери або назви вершин.
Є дерева,
для яких нескладно вивести формулу
десяткового кодування. Розглянемо|розгледимо|,
наприклад, графи-зірки
,
що є|з'являються,являються|
повними|цілковитими|
дводольними графами, одна з доль яких
складається з однієї вершини. Інше
позначення зірок –
.
На мал. 14.2 показані зірки, а також приведені їх двійкові і десяткові кодування. Корінь дерева розташовується в центральній вершині зірки. Легко одержати|отримати| загальну|спільну| формулу:
. (14.1)
Мал. 14.2
Якщо
корінь помістити в будь-якій з висячих
вершин, то код
такого дерева
виражатиметься|виказуватиметься,висловлюватиметься|
великим числом. Більш того|більше
того|,
існує залежність
.
Аналогічно розглядаються|розглядуються|
і ланцюги|цепи|
(мал. 14.3). Ланцюги|цепи|
позначаються|значаться|
як
.
Мал. 14.3
У зірках
тільки|лише|
два варіанти розташування кореня з|із|
різними десятковими кодуваннями. У
ланцюзі|цепі|
ж число варіантів кодувань залежно від
положення|становища|
кореня росте|зростає|
із|із|
збільшенням n.
Розглянемо|розгледимо|
найпростіший варіант, розташувавши
корінь в кінцевій вершині (листі|аркуші|).
Для
одержимо|отримаємо|
двійкове кодування 10 і десяткову 2, для
– 1100 і 12, для
– 111000 і 56, для
– 11110000 і 240. Загальна|спільна|
формула для десяткового кодування
ланцюга|цепу|
з|із|
коренем в кінцевій вершині має вигляд|вид|
. (14.2)
Приклад|зразок| 14.2. Записати десятковий код дерева, зображеного|змальованого| на мал. 14.4, з|із| коренем у вершині 3.
Мал. 14.4
Рішення|розв'язання,вирішення,розв'язування|. На підставі правила кодування, рухаючись|сунучись| по дереву, проставимо в код одиниці і нулі. При русі з|із| кореня 3 до вершини 7 проходимо|минаємо,спливаємо| чотири ребра. У код записуємо|занотовуємо| чотири одиниці: 1111. Повертаючись від вершини 7 до вершини 2 (до найближчої розвилки), проходимо|минаємо,спливаємо| три ребра. Записуємо|занотовуємо| в код три нулі: 000. Від вершини 2 до 5 і далі до 8 (менший номер): 11; від 8 назад до 5 і від 5 до 9: 01; від 9 до кореня 3: 000.
І, нарешті|урешті|, від 3 до 6 і назад: 10. У результаті, збираючи всі разом, одержимо|отримаємо| двійковий код дерева:
1 111 000 110 100 010.
Розбиваючи
число на трійки, переводимо|перекладаємо,переказуємо|
одержане|отримане|
двійкове уявлення|виставу,подання,представлення|
у вісімкове. Одержуємо|отримуємо|
.
Потім переводимо|перекладаємо,переказуємо|
це число в десяткове:
.