
- •Дерева. Означення та основні властивості.
- •Кореневе дерево. Упорядковане кореневе дерево, 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. Машина Тьюрінга.
Властивості повного m-арного дерева. Рівень вершини і висота кореневого дерева. Збалансоване дерево.
Т-ма. Повне m-арне дерево з і внутрішніми вершинами містить n=m*i+1вершин.
Д-ня. Кожна вершина, за винятком кореня, є сином внутрішньої вершини. Оскільки кожна з і внутрішніх вершин має m синів, то всього є, якщо не враховувати корінь, m*i вершин. Враховуючи ще корінь, одержимо, що всього вершин n=m*i+1.
Рівнем вершини v у кореневому дереві називають довжину простого шляху від кореня до цієї вершини. Висотою кореневого дерева називають максимальний з рівнів його вершин. Завершеним m-арним деревом називають таке повне m-арне дерево, у якого все листя має 1 рівень.
Т-ма. Нехай m-арне дерево має висоту h. Тоді воно має не більше, ніж mk листків.
Д-ня. (Мат. Індукція по h). У разі h=1 твердження очевидне. Припустимо, що твердження є правильним для всіх m-арих дерев з висотою меншою, ніж h. Нехай Т – m-арне дерево з висотою h. Листки дерева Т – це листки піддерев, які отримують з Т вилученням ребер, що з’єднують корінь дерева Т з кожною вершиною рівня 1. Кожне з цих дерев має висоту не більшу ніж h-1. За індуктивною гіпотезою кожне з цих дерев має не більше, ніж mh-1 листків. Оскільки таких піддерев є не більше ніж m, то загальна к-сть листків у дереві Т не перевищує m*mh-1=mh.
Збалансоване дерево – це такий різновид бінарного дерева пошуку, яке автоматично підтримує свою висоту, тобто к-сть рівнів вершин під коренем, мінімальною.
Обхід бінарних дерев (три способи).
Існує 3 принципи впорядкування вершин, які природно випливають із структури дерева. Як і саму деревовидну структуру, їх зручно описати за допомогою рекурсії.
Обхід бінарного дерева передбачає відвідування усіх вершин бінарного дерева, при цьому кожна з вершин відвідується тільки один раз.
Існують три види таких обходів, кожний з яких визначається рекурсивно:
прямий порядок (англ. preorder) наступної послідовності:
відвідати корінь
відвідати ліве піддерево
відвідати праве піддерево
Тобто, в такому порядку обходу кожна вершина відвідується до того, як будуть відвідані її діти.
зворотний порядок (англ. postorder) наступної послідовності:
відвідати ліве піддерево
відвідати праве піддерево
відвідати корінь
Тобто, в такому порядку кожна вершина відвідується лише після того, як будуть відвідані її діти.
Внутрішній порядок (англ. inorder) наступної послідовності:
відвідати ліве піддерево
відвідати корінь
відвідати праве піддерево
В такому порядку кожна вершина відвідується між відвіданням лівої та правої дитини. Такий порядок особливо часто застосовується в бінарних деревах пошуку, тому що дає можливість обходу вершин у порядку збільшення їхніх порядкових номерів.
Для цього бінарного дерева,
Прямий порядок: 2, 7, 2, 6, 5, 11, 5, 9, 4
Зворотній порядок: 2, 5, 11, 6, 7, 4, 9, 5, 2
Центрований (центральний) порядок: 2, 7, 5, 6, 11, 2, 5, 4, 9