- •Дерева. Означення та основні властивості.
- •Кореневе дерево. Упорядковане кореневе дерево, m-арне дерево, повне m-арне дерево.
- •Властивості повного m-арного дерева. Рівень вершини і висота кореневого дерева. Збалансоване дерево.
- •Обхід бінарних дерев (три способи).
- •6.Інфіксна форма запису.
- •7. Префіксна форма запису виразів (прямий польський запис).
- •8. Постфіксна форма запису виразів. (обернений польський запис).
- •9. Бінарне дерево пошуку.
- •10. Дерево прийняття рішень.
- •11. Алгоритм бектрекінг. Приклади: пошук гамільтонових циклів у графі, задача про n ферзів та інші задачі.
- •12. Каркаси графів. Способи їх побудови.
- •13. Задача про мінімальний каркас. Алгоритм Краскала.
- •14. Відношення. Означення відношення із однієї множини в іншу, n-арні відношення. Означення відношення на множині. Бінарні відношення. Властивості відношень. Способи задання бінарних відношень.
- •15. Відношення еквівалентності.
- •16. Відношення часткового порядку.
- •17. Рефлексивне замикання відношення. Симетричне замикання відношення.
- •18. Транзитивне замикання відношення. З’єднувальне відношення.
- •19. Алгоритм Уоршала.
- •20. Постановка проблеми кодування, її значення в інформатиці. Алфавітне і рівномірне кодування. Достатні умови однозначності алфавітного кодування.
- •21. Властивості однозначного алфавітного кодування. Нерівність Крафта-Макміллана.
- •22. Задача оптимального кодування. Метод Фано побудови «економних» кодів.
- •23. Метод Хаффмана побудови оптимального коду.
- •24. Коди, стійкі до перешкод. Загальна теорія.
- •25. Коди, стійкі до перешкод: коди Хемінга.
- •26. Булеві функції. Означення, задання таблицями і формулами, істотні і неістотні змінні.
- •27. Диз’юктивні нормальні форми.
- •28. Кон'юктивні нормальні форми.
- •29. Поліном Жегалкіна
- •30. Алгебри булевих функцій
- •31. Алгебра Жегалкіна
- •35. Клас l. Лема про нелінійну функцію.
- •36. Теорема Поста.
- •37. Постановка задачі мінімізації булевих функцій.
- •38. Методи Квайна та Мак-Класкі.
- •39. Імплікантна таблиці Квайна. Метод Петрика відбору тупікових днф.
- •40. Граматики з фразовою структурою.
- •42. Скінченні автомати з виходом. Способи задання, приклади.
- •43. Скінченні автомати без виходу. Способі задання приклади.
- •44. Машина Тьюрінга.
Дерева. Означення та основні властивості.
Граф називають деревом, якщо він зв’язний і не містить простих циклів. Граф, який не містить простих циклів і складається з К компонент називають лісом з К дерев.
Теорема. Нехай граф Т має n вершин. Тоді такі твердження еквівалентні:
(І). Т є деревом.
(ІІ). Т не містить простих циклів і має (n-1) ребро.
(ІІІ). Т зв’язний і має (n-1) ребро.
(4). Т зв’язний, але вилучення довільного ребра робить його незв’язним.
(5). Довільні 2 вершини графа Т з’єднані точно 1 простим шляхом.
(6). Т не містить простих циклів, але додаванням до нього довільного нового ребра отримаємо точно 1 простих цикл.
Д-ня. (математичною індукцією). У разі n=1 твердження тривіальні. Припустимо, що n>2.
(І)->(ІІ). За означенням Т не містить простих циклів. Отже, вилучивши довільне ребро отримаємо 2 графи, кожний з яких є деревом з меншою ніж в Т, кількістю вершин. За припущенням індукції к-сть ребер у кожному із отриманих дерев на 1 менша від к-ті вершин. Звідси випливає, що граф Т має (n-1) ребро.
(ІІ)->(ІІІ). Припустимо, що Т незв’язний. Тоді кожна його компонента є зв’язним графом, що не містить простих циклів, тобто деревом. Звідси випливає, що к-сть вершин і кожній компоненті на 1 більша від к-сті ребер. Отже, загальна к-сть вершин графа Т більша від к-сті ребер принаймні на 2. Але це суперечить тому, що граф Т має (n-1) ребро.
(ІІІ)-(4). Вилучимо довільне ребро, отримаємо граф з n вершинами та (n-2) ребрами. Припущення про зв’язність такого графа суперечить теоремі про оцінку (знизу) к-сті ребер звичайного графа.
(4)-(5). Оскільки граф Т зв’язний, то кожна пара його вершин з’єднана принаймні одним простим шляхом. Якщо припустити, що деяка пара вершин з’єднана 2 простими шляхами, то вони замикаються у простий цикл, але це суперечить тому, що вилучення довільного ребра робить граф Т незв’язним.
(5)-(6). Припустимо, що Т містить простий цикл, тоді довільні 2 вершини цього простого циклу з’єднані принаймні 2 простими шляхами, що суперечить (5). Додамо тепер до графа Т ребро е, тоді отримаємо єдиний простий цикл, оскільки інцидентні е вершини вже з’єднані в Т точно одним простим шляхом.
(6)-(І). Пропустимо, що Т незв’язний, тоді додавання будь-якого ребра, що з’єднує вершину однієї компоненти з вершиною іншої, не призводить до утворення простого циклу, що суперечить (4).
Наслідок з (ІІ). Ліз з К дерев, який містить n вершин має (n-к) ребер.
Кореневе дерево. Упорядковане кореневе дерево, m-арне дерево, повне m-арне дерево.
Розглянемо кореневе дерево. У багатьох застосуваннях певну вершину дерева визначають як корінь. Дерево разом з виділеним коренем утворює орієнтований граф, який називають кореневим деревом. Вершини дерева, які не мають синів називають листками. Вершини, які мають синів, називають внутрішніми. Кореневе дерево називають m-арним, якщо кожна внутрішня вершина має не більше m синів. Дерево називають повним m-арним, якщо кожна внутрішня вершина має точно m синів. У разі m=2 дерево називають бінарним. Упорядковане кореневе дерево – це кореневе дерево, в якому сини кожної внутрішньої вершини впорядковані.
Якщо внутрішня вершина v в упорядкованому бінарному дереві має 2 синів, то першого називають лівим сином, а другого – правим. Піддерево з коренем і вершині, яка є лівим сином вершини v називають лівим під деревом у вершині v. Якщо корінь піддерева є правим сином вершини v, то таке піддерево називають правим під деревом у вершині v.