Лекція 27. Дерева. Рис

Similar documents
Problem A. Nanoassembly

Programming the Microchip Pic 16f84a Microcontroller As a Signal Generator Frequencies in Railway Automation

UNDERGRADUATE STUDY SKILLS GUIDE

The European Ombudsman

Russian Introductory Course

MARI-ENGLISH DICTIONARY

IС A A RT Proceedings Volume 2. 5th International Conference on Agents and Artificial Intelligence. Barcelona, Spain February, 2013

Chronic Fatigue Syndrome

The course of understanding British and American prose and poetry by future managers

Joong-Seok Cho 1 THE RELATION BETWEEN ACCOUNTING QUALITY AND SECURITY ANALYSTS' TARGET PRICE FORECAST PERFORMANCE

FUNCTIONS OF THE MODAL VERBS IN ENGLISH (MODAL VERBS ANALOGIES IN THE RUSSIAN LANGUAGE) Сompiled by G.V. Kuzmina

COMPLIANCE OF MANAGEMENT ACCOUNTING WHEN USING INFORMATION TECHNOLOGIES

Nataliia ZARUDNA MODERN REQUIREMENTS FOR ACCOUNTING MANAGEMENT FOR PROVISION PROCESS

BASICS OF ENGLISH PHONETICS. (course of lectures)

CONCEPT OF STATE SOVEREIGNTY: MODERN ATTITUDES. Karen Gevorgyan 1

ISSN X CODEN (USA): PCHHAX. The study of dissolution kinetics of drugs with riboxinum (inosine)

BES-III distributed computing status

SHORT RUSSIAN PHRASEBOOK FOR ENGLISH-SPEAKING TRAVELERS FREE DOWNLOAD. EDITION 4.0

Pipe fittings plant in Kolpino, Leningrad Regions

SOCIAL-MEDIA PLATFORMS AND ITS EFFECT ON DIGITAL MARKETING ACTIVITIES

THE INFLUENCE OF POLITICAL ADVERTISING ON STUDENTS PREFERENCES AND THEIR POLITICAL CHOICE


EFFICIENCY OF SOLAR ROOF WITH TRANSPARENT COVER FOR HEATING SUPPLY OF BUILDINGS

VILLAGE TOURISM OF SERBIA

бы appleы х нfi йтхыкы, за шы зхт зт тсыхн, Bayerische Julius- Maximilians UniversitДt, WЭrzburg, бзл с. 2

The relationship between managers' leadership styles in physical education offices universities and sport volunteers' satisfaction

THE INFORMATISATION OF PUBLIC ADMINISTRATION

DECLARATION OF PERFORMANCE NO. HU-DOP_TN _001

LG-Ericsson TSP (ip-ldk, ipecs) User Guide. Issue 4.1Ac

A COURSE IN MODERN ENGLISH LEXICOLOGY

DECLARATION OF PERFORMANCE NO. HU-DOP_TD-25_001

Removing chips is a method for producing plastic threads of small diameters and high batches, which cause frequent failures of thread punches.

On Supervised and Unsupervised Discretization 1

Czech Technical University in Prague, Faculty of Transportation Science, Praha, Czech Republic CRISIS MANAGEMENT PRINCIPLES AND COMPETENT CRISIS PLAN

A. I. KUBARKO, T. G. SEVERINA NORMAL PHYSIOLOGY

arxiv: v1 [cond-mat.soft] 8 Mar 2016

Typography & Language

Language Learning Strategies used by Monolingual and Bilingual Students in Transcarpathian Secondary Schools

Functionalized molecules - synthesis, properties and application

Value aspects of modern Ukrainian advertising discourses

Football fever: self-affirmation model for goal distributions

Maria Skublewska-Paszkowska 1 COMPARISON OF ARM ANIMATION. Марія Скублевска-Пашковська ПОРІВНЯННЯ МЕТОДІВ АНІМАЦІЇ РУХУ РУКИ

TERMINOLOGY OF KOGNITIVE LINGUISTICS: CONCEPTUAL SYSTEM AND CONCEPTUAL PICTURE OF THE WORLD

CRYSTAL BEAUTY EXCLUSIVE JEWELLERY / EXKLUZIVNÍ ŠPERKY NEWS

RISK MANAGEMENT OF LEASING COMPANY

Підручник для 3 класу загальноосвітніх навчальних закладів

Yung-Gi Hong 1, Soo-Hyun Kim 2, Hyoung-Goo Kang 3 DOES PAIR TRADING WORK IN THE KOREAN MARKET?*

SYNONYMS. ANTONYMS. HOMONYMS

PALAEONTOLOGIA POLQNICA 'Ъ-Ь

STATISTICAL FIELD THEORY FOR A MULTICOMPONENT FLUID: THE COLLECTIVE VARIABLES APPROACH

E. N. Sokolov's Neural Model of Stimuli as Neuro-cybernetic Approach to Anticipatory Perception

Olga Korzachenko, Kyiv National Economic University, Vadim Getman, Kyiv National Economic University

Non-exhibition events and conference halls

Development of automated accounting system, monitoring development and innovation implementation control

BLAST-FURNACE EQUIPMENT

Activated carbon from cotton waste as an adsorbent in the purification process of azo-dyes

Side reactions of onium coupling reagents BOP and HBTU in the synthesis of silica polymer supports

Jeng-Hwan Wang 1 A STUDY ON KEY PERFORMANCE INDICATOR FOR FOOD SERVICE BUSINESSES IN TAIWAN

Christie NAS-S2. User Manual

AGRITOURISM AS THE BEST FORM OF ENTERPRENEURSHIP IN THE POLISH COUTRYSIDE. Anita Szygula

ENEOLITHIC CERAMIC TABLETS (ALTARS) FROM BULGARIA

Steel Fury: Kharkov User's manual

Uses for Binary Trees -- Binary Search Trees

3) Enterprises that transport natural gas through main pipelines: 4) Enterprises that supply and distribute natural gas:

DECISION SUPPORT SYSTEMS DEVELOPMENT AND BENEFITS OF BUSINESS INTELLIGENCE SYSTEMS USAGE

A COMPARATIVE ANALYSIS DEFINITIONS OF ADMINISTRATIVE LAW

Создание лексикографической базы данных для электронного словаря

Vocational Training of Education Administrators under Master s Degree Programs in Ukraine

Industrial Metrology and Interchangeable Manufacturing under the Viewpoint of Nanotechnology and Nanometrology

SYSTEMATIZATION OF ELEMENTS OF THE STRATEGIC ACCOUNTING METHOD

STARTING SYSTEM OPERATION IN THE STARTER-GENERATOR

Jonas Mackevičius, Vladislav Tomaševič* Vilnius University, Lithuania

Importance of rope NDT for safe lifting of loading cranes

YTONG Product list.

FOREX NAUTILUS Indicator

THE USE OF FACEBOOK FOR MARKETING PURPOSES AMONG SMES AS A MODERN MARKETING METHOD RESEARCH RESULTS FROM POLAND

Christie Vive Audio BKT-LA4 Bracket

Christie Integrated Media Block

розумінню впливу соціального середовища на здоров'я людини. УДК Brouchatskaya Elina Riga Anastasia-Valentini

PRODUCTIVITY, ADAPTABILITY AND GRAIN QUALITY OF MODERN UKRAINIAN WINTER TRITICALE CULTIVARS*

Students will listen, speak, read, write, view and represent in Ukrainian to explore thoughts, ideas, feelings and experiences.

CONVERGENCE OF REGIONAL INNOVATION INFRASTRUCTURE OF UKRAINE AND THE EU Elena Dotsenko

Design of Analog CMOS Integrated Circuits, 2001, Razavi, Behzad зѕ ж Ћ, , , жё еќће е е єз з ѕжњ й ђе еџё, 2001

RARE ELEMENTS OF THE SEGETAL FLORA PRESERVED IN ABANDONED VILLAGES IN THE KAMPINOS NATIONAL PARK (CENTRAL POLAND)

CONFERENCE ON PRESENT TENDENCIES OF CONSTITUTIONAL JUSTICE : THE RELATIONS BETWEEN NATIONAL AND INTERNATIONAL LAW

UNIVERSITY OF ILUNOхS LIBRARY AT URBANA-CHAMPA1GN AGR1CULT-"'J?'-

BPMonline CRM User Guide

AN EVALUATION OF PERFORMANCE INTEGRATED MARKETING COMMUNICATIONS: USE OF THE FUNNEL EFFICIENCY METHOD

Step 2. You will see an interface as shown in the diagram below. Please insert your Help Desk username and password.

New Product Hotline

Srdjan Sapic 1, Milos Jovanovic 2, Srdjan Furtula 3 ENTRY MARKETING STRATEGIES OF FOREIGN COMPANIES: A CASE STUDY ON WESTERN SERBIA

The controversy over the material scope of Polish gaming tax Selected issues

Збірник завдань з граматики з англійської мови

About the effect of the contents and ratios of soil s available calcium, potassium and magnesium in liming of acid soils

Case study from Ukraine

STUDY RESULTS OF MENTAL AND PHYSICAL HEALTH STATUS OF POLICE OFFICERS RESPONSIBLE FOR LAW ENFORCEMENT

TeeJay Publishers General Homework for Book 3G Ch 9 - circles. Circles

Stochastic processes crossing from ballistic to fractional diffusion with memory: exact results

Transcription:

Дискретна Математика :: Дерева 157 Лекція 27. Дерева 27.1. Основні означення та властивості Поняття дерева широко застосовують у багатьох розділах математики й інформатики. Наприклад, дерева використовують як інструмент обчислень, зручний спосіб збереження даних, їх сортування чи пошуку. Означення 27.1. Деревом називають зв язний граф без простих циклів. Граф, який не містить простих циклів і складається з k компонент зв язності, називають лісом з k дерев. З означення випливає, що дерева й ліси являють собою прості графи. На рис. 27.1 зображені приклади дерев. Рис. 27.1. Теорема 27.1. Нехай граф G має n вершин. Тоді такі твердження еквівалентні: 1) граф G дерево; 2) граф G не містить простих циклів і має (n 1) ребро; 3) граф G зв язний і має (n 1) ребро; 4) граф G зв язний, але вилучення довільного ребра робить його незв язним; 5) довільні дві вершини графу G з єднані точно одним простим маршрутом; 6) граф G не містить простих циклів, але додавши до нього нове ребро ми отримаємо точно один простий цикл. Доведення. Методом математичної індукції за кількістю вершин. У разі n = 1 твердження тривіальні. Припустимо, що твердження виконуються для n 1. Доведемо їх для n. (1) (2). За означенням G не містить простих циклів. Отже, вилучивши довільне ребро, ми одержимо два графи, кожний з яких являє собою дерево з меншою, ніж у G, кількістю вершин. Нехай, граф G 1 містить n 1 вершин, а G 2 n 2 : n 1 + n 2 = n. За припущенням індукції кількість ребер у кожному з отриманих дерев на 1 менша за кількість вершин, тобто в графі G 1 (n 1 1) ребер, а у графі G 2 (n 2 1) ребер. Отже у графі G було (n 1 1) + (n 2 1) + 1 = (n-1) ребер. (2) (3). Припустимо, що граф G незв язний. Тоді кожна його компонента являє собою зв язний граф без простих циклів (за означенням), тобто дерево. Звідси випливає, що кількість вершин у кожній компоненті на одиницю більша від кількості ребер. Отже, загальна кількість вершин графу G більша за кількість ребер принаймні на 2. Але це суперечить тому, що граф має (n 1) ребро. (3) (4). Вилучимо довільне ребро, отримаємо граф з n вершинами та (n 2) ребрами. Припущення про зв язність такого графу суперечить теоремі про оцінку (знизу) кількості ребер звичайного графу (теорема 26.3). (4) (5). Оскільки граф G зв язний, то кожну пару його вершин з єднано принаймні одним простим маршрутом (теорема 26.1). Якщо якусь пару вершин з єднано двома простими маршрутами, вони замикаються в простий цикл. Але це суперечить тому, що вилучення довільного ребра робить граф G незв язним. (5) (6). Припустимо, що граф G містить простий цикл. Тоді довільні дві вершини цього циклу з єднано принаймні двома простими шляхами, що суперечить твердженню (5). Додавши тепер до графу G ребро, отримаємо єдиний простий цикл, бо інцидентні ребру вершини вже з єднано в графі G точно одним простим шляхом.

Дискретна Математика :: Дерева 158 (6) (1). Припустимо, що граф G незв язний. Тоді додавання будь-якого ребра, що з єднує вершину однієї компоненти з вершиною іншої, не зумовлює утворення простого циклу, що суперечить твердженню (6). Наслідок з твердження (2). Ліс з k дерев, який містить n вершин, має (n k) ребер. У багатьох застосуваннях певну вершину дерева означають як корінь. Тоді можна природно приписати напрямок кожному ребру. Оскільки існує єдиний простий маршрут від кореня до кожної вершини графу, то можна орієнтувати кожне ребро в напрямку від кореня. Отже, дерево разом із виділеним коренем утворює орієнтований граф, який називають кореневим деревом. Різні способи вибору кореня дають змогу утворити різні кореневі дерева. Наприклад, на рис. 27.2, а зображено дерево, а на рис 27.2, б, в кореневі дерева з коренями відповідно у вершинах та. f g f g f g а б в Рис. 27.2. Означення 27.2. Нехай G кореневе дерево. Якщо v його вершина, відмінна від кореня, то її батьком називають єдину вершину u таку, що є орієнтоване ребро (u, v). Якщо u батько, то v син. Аналогічно за генеалогічною термінологією можна означити інших пращурів і нащадків вершини v. Вершини дерева, які не мають синів, називаються листками. Вершини, які мають синів, називаються внутрішніми. Нехай вершина дерева. Тоді піддеревом із коренем називають підграф, який містить та всі вершини нащадки вершини, а також інцидентні їм ребра. Означення 27.3. Кореневе дерево називають m-арним, якщо кожна його внутрішня вершина має не більше ніж m синів. Дерево називають повним m-арним, якщо кожна його внутрішня вершина має точно m синів. У разі m=2 дерево називають бінарним. Означення 27.4. Кореневе дерево, у якому сини кожної внутрішньої вершини впорядковано, називають упорядкованим. Таке дерево зображають так, щоб сини кожної вершини були розміщені зліва направо. Якщо внутрішня вершина впорядкованого бінарного дерева має двох синів, то першого називають лівим, а другого правим. Теорема 27.2. Повне m-арне дерево з r внутрішніми вершинами містить n = mr + 1 вершин. Доведення. Кожна вершина, окрім кореня, - син внутрішньої вершини. Оскільки кожна з r внутрішніх вершин має m синів, то всього є, якщо не враховувати корінь, mr вершин, а з урахуванням кореня їх mr + 1. Означення 27.5. Рівнем вершини v в кореневому дереві називають довжину простого шляху від кореня до цієї вершини (цей шлях, очевидно, єдиний). Рівень кореня вважають нульовим. Висотою кореневого дерева називають максимальний із рівнів його вершин. Інакше кажучи, висота кореневого дерева це довжина найдовшого простого шляху від кореня до будь-якої вершини. Повне m-арне дерево, у якого всі листки на одному рівні, називають завершеним. Кореневе m-арне дерево з висотою h називають збалансованим, якщо всі його листки на рівнях h або h 1. Теорема 27.3. Нехай m-арне дерево має висоту h. Тоді в ньому не більше ніж m h листків.

Дискретна Математика :: Дерева 159 Доведення. За методом індукції по h. У разі h=1 твердження очевидне. Припустимо, що воно справджується для всіх m-арних дерев з висотою h 1. Доведемо її для дерева G з висотою h. Тоді його листки це листки піддерев, отриманих із G вилученням ребер, які з єднують корінь дерева G з кожною вершиною рівня 1, тобто з кожним сином кореня. Кожне з цих піддерев має не більшу висоту, ніж h 1. За індуктивним припущенням всі вони мають не більше ніж m h 1 листків. Позаяк таких піддерев не більше ніж m, то загальна кількість листків у дереві G не перевищує mm h 1 = m h. Наслідок. Якщо m-арне дерево з висотою h має t листків, то h log m t. Якщо m-арне дерево повне та збалансоване, то h = log m t. x найменше ціле число, яке більше чи дорівнює x. Доведення. За теоремою 27.3 t m h. Прологарифмуємо цю нерівність за основою m: log m t h. Оскільки h ціле, то h log m t. Тепер припустимо, що дерево повне та збалансоване. Вилучимо всі листки на рівні h (разом з інцидентними їм ребрам). Отримаємо завершене m-арне дерево висотою h 1. Воно має m h 1 листків. Отже, m h 1 < t m h. Звідски випливає, що h 1 < log m t h, тобто h = log m t. 27.2. Обхід дерев Чимало задач можна моделювати з використанням кореневих дерев. Поширене таке загальне формулювання задачі: виконати задану операцію D з кожною вершиною дерева. Тут D параметр загальнішої задачі відвідування всіх вершин, або так званого обходу дерева. Розглядаючи розв язання цієї задачі як єдиний послідовний процес відвідування вершин дерева в певному порядку, можна вважати їх розміщеними одна за одною. Опис багатьох алгоритмів істотно спрощується, якщо можна говорити про наступну вершину дерева, маючи на увазі якесь упорядкування. Є три принципи впорядкування вершин, які природно випливають зі структури дерева. Як і саму деревоподібну структуру, їх зручно формулювати за допомогою рекурсії. Звертаючись до бінарного дерева, де R корінь, A та B ліве та праве піддерева (рис. 27.3), можна означити такі впорядкування. f g h k m n Рис. 27.3. 1. Обхід у прямому порядку (prorr), або : R, A, B (корінь відвідують до обходу піддерев). Для дерева з рис. 27.3 послідовність вершин буде така:,,,, h, k,, f, g, m, n. 2. Обхід у внутрішньому порядку (inorr), або зліва направо: A, R, B. Для дерева з рис. 27.3 послідовність:,, h,, k,, f,, m, g, n. 3. Обхід у зворотному порядку (postorr), або знизу догори: A, B, R (корінь відвідують після обходу піддерев). Для дерева з рис. 27.3 послідовність:, h, k,,, f, m, n, g,,. Зазначені способи обходу бінарних дерев можна узагальнити й на довільні m-арні дерева. Обхід таких дерев у прямому порядку () схематично зображено на рис. 27.4, а; у внутрішньому порядку (зліва направо) на рис. 27.4, б; у зворотному (знизу вгору) на рис. 27.4, в.

Дискретна Математика :: Дерева 160 R Крок 1: відвідати R T 1 T 2 T m Крок 2: відвідати T 1 Крок 3: відвідати T 2 R а Крок (m+1): відвідати T m Крок 2: відвідати R T 1 T 2 T m Крок 1: відвідати T 1 Крок 3: відвідати T 2 R б Крок (m+1): відвідати T m Крок (m+1): відвідати R T 1 T 2 T m Крок 1: відвідати T 1 знизу вгору Крок 2: відвідати T 2 знизу вгору в Рис. 27.4. Крок m: відвідати T m знизу вгору 27.3. Приклад застосування дерев Надзвичайно поширене в інформатиці застосування обходу дерев зіставлення виразам (арифметичним, логічним тощо) дерев і побудова на цій основі різних форм запису виразів. Суть справи зручно пояснити на прикладі. Розглянемо арифметичний вираз: + ( f ). Подамо його у вигляді дерева (рис. 27.5). Внутрішнім вершинам цього дерева відповідають символи операцій, а листкам операнди.

Дискретна Математика :: Дерева 161 + / f Рис. 27.5. Обійдемо це дерево, записуючи символи у вершинах у тому порядку, у якому вони зустрічаються в разі заданого способу обходу. Отримаємо такі три послідовності: у разі обходу в прямому порядку префіксний (польський) запис + / f ; у разі обходу у внутрішньому порядку інфіксний запис (поки що без дужок, які потрібні для визначення порядку операцій) + / f ; у разі обходу в зворотному порядку постфіксний (зворотний польський) запис / + f. Звернемося спочатку до інфіксної форми запису виразу. Без дужок вона неоднозначна: один запис може відповідати різним деревам. Щоб уникнути неоднозначності інфіксної форми, використовують круглі дужки щоразу, коли зустрічають операцію. Повністю «одужкований» вираз, одержаний під час обходу дерева у внутрішньому порядку, називають інфіксною формою запису. Отже, для дерева з рис. 27.5 інфіксна форма така: (( + ( / )) ( ( f ))). Наведені міркування свідчать, що інфіксна форма запису виразів незручна. На практиці використовують префіксну та постфіксну форми, бо вони однозначно відповідають виразу й не потребують дужок. Ці форми запису називаються польським записом (на честь польського математика Яна Лукасевича). Для обчислення значення виразу в польському записі його проглядають справа наліво та знаходять два операнди разом зі знаком операції перед ними. Ці операнди та знак операції вилучають із запису, виконують операцію, а її результат записують на місце вилучення символів. Для прикладу, обчислимо значення виразу в польському записі (^ - означає піднесення до степеня): «+ 4 2 5 ^ 2 / 9 3». За сформульованим правилом виділимо «/ 9 3», ці символи вилучимо й обчислимо 9 / 3 = 3; результат запишемо на місце вилучення символів «+ 4 2 5 ^ 2 3». Продовжимо обчислення. Динаміку процесу відображено в табл. 27.1. Крок Вираз Виділені символи Виконання операції 1 + 4 2 5 ^ 2 / 9 3 / 9 3 9 / 3 = 3 2 + 4 2 5 ^ 2 3 ^ 2 3 2^3 = 8 3 + 4 2 5 8 4 2 4 2 = 2 4 + 2 5 8 2 5 2 5 = 10 5 + 10 8 + 10 8 10 + 8 = 18 6 18 Табл. 27.1. Для обчислення значення виразу в зворотному польському записі його переглядають зліва направо та виділяють два операнди разом зі знаком операції після них. Ці операнди та знак операції вилучають, а її результат записують на місце вилучених символів.

Дискретна Математика :: Дерева 162 Оскільки польські записи однозначні та їх значення можна легко обчислити без сканування назад і вперед, їх широко використовують у комп ютерних науках, особливо для конструювання компіляторів. Наприклад, розглянемо можливий спосіб компіляції булевої функції (представлення функції у польському записі та обчислення значень функції залежно від значень операндів): ( x (y ~ x)) y. Подамо його у вигляді дерева (рис. 27.6). ~ y x y x Рис. 27.6. Згідно з прямим та зворотним порядками обходу дерева отримаємо відповідно пряму та зворотну польські форми записів: «x ~ y x y» та «x y x ~ y». Відмітимо один факт, який стосується булевих виразів. Як відомо, в булевій алгебрі є одна унарна операція заперечення. Тож ми не можемо сліпо виконувати правила, зазначені раніше, про заміну двох операндів та операції, яка йде перед чи після операндів, на результат операції. Потрібно ввести обмеження на використання цих правил, зазначивши, що вони виконуються тільки для бінарних операцій. Для унарних же операцій (заперечення ) правила мають вигляд: замінювати операнд та операцію заперечення, яка стоїть перед операндом, на результат операції (для прямої польської форми) та замінювати операнд та операцію заперечення, яка стоїть після операнда, на результат операції (для оберненої польської форми). Отже, для прямої польської форми отримаємо таке загальне правило обчислення результату булевих виразів. Переглядаємо послідовність справа наліво та виділяємо один операнд та операцію заперечення, яка стоїть перед цим операндом, або два операнди та операцію, відмінну від заперечення та яка стоїть перед цими операндами. Вибрані операнд(и) та операцію замінюємо в послідовності на результат застосування операції до операнда(ів). Аналогічно формулюється правило обчислення результату булевих виразів у зворотній польській формі. Обчислимо значення функції на наборі (1, 0), використовуючи прямий польський запис. Для цього замість символів x та y підставляємо 1 та 0 відповідно й застосовуємо вказане правило доки не отримаємо кінцевий результат (табл. 27.2). Проведемо аналогічні обчислення на наборі (0, 0), але використовуючи вже зворотній польській запис (табл. 27.3).

Дискретна Математика :: Дерева 163 Крок Вираз Виділені символи Виконання операції 1 1 ~ 0 1 0 0 0 = 1 2 1 ~ 0 1 1 1 1 = 0 3 1 ~ 0 0 1 ~ 0 0 0 ~ 0 = 1 4 1 1 1 1 1 = 0 5 0 1 1 0 1 0 1 = 0 6 0 1 0 1 0 1 = 1 7 1 Табл. 27.2. Крок Вираз Виділені символи Виконання операції 1 0 0 0 ~ 0 0 0 = 1 2 1 0 0 ~ 0 0 0 = 1 3 1 0 1 ~ 0 0 1 ~ 0 ~ 1 = 0 4 1 0 0 1 0 1 0 = 0 5 0 0 0 0 = 1 6 0 1 0 1 0 1 = 1 7 1 Табл. 27.3.