
- •Дерева. Означення та основні властивості.
- •Кореневе дерево. Упорядковане кореневе дерево, 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. Машина Тьюрінга.
6.Інфіксна форма запису.
Надзвичайно поширене застосування в інформатиці обходу дерев – це співставлення виразам (арифметичним, логічним тощо) дерев, та побудова на цій основі різних форм запису виразів.
Суть справи зручно пояснити на прикладі. Розглянемо арифметичний вираз: (a+b/c)*(d-e*f). Зобразимо його у вигляді дерева. Обійдемо це дерево, виписуючи символи у вершинах у тому порядку, в якому вони зустрічаються при заданому способі обходу. У разі обходу у внутрішньому порядку – інфіксний запис (поки що без дужок, необхідний для визначення порядку операцій): a+b/c*d-e*f. Без дужок інфіксна форма запису неоднозначна: один запис може відповідати різним деревам. Щоб уникнути неоднозначності інфіксної форми, використовують круглі дужки кожного разу, коли зустрічають операцію. Повністю «одужкований» вираз отриманий у разі обходу дерева у внутрішньому порядку, називають інфіксною формою запису. Інфіксна форма запису є незручною. На практиці використовують префіксну та постфіксну форми запису, оскільки вони однозначно відповідають виразу і не використовують дужок.
7. Префіксна форма запису виразів (прямий польський запис).
На практиці використовується префіксна і постфіксна форми запису оскільки вони однозначно відповідають виразу і не використовують дужок. (польські записи). Прямий польський запис відповідає обходу дерева зверху вниз (префіксна). 1) Вівідати корінь. 2) відвідати праве піддерево. 3) відвідати ліве піддерево.
Правило обчислення значення виразу у прямому польському записі:
Для обчислення значення виразу в прямому польському записі його читають справа наліво і знаходять 2 операнди разом із знаком операції, який їм передує. Ці операнди та знак операції вилучають із запису, виконують операцію, а її результат записують на місце вилучених символів.
Розглянемо арифметичний вираз: (a+b/c)*(d-e*f). Зобразимо його у вигляді дерева. Обійдемо це дерево, виписуючи символи у вершинах у тому порядку, в якому вони зустрічаються при заданому способі обходу. У разі обходу в прямому польському записі : *+a/bc-d*ef.
Зазначимо, що оскільки польські записи однозначні та можуть бути легко обчислені без сканування назад і вперед, то їх широко використовують у комп’ютерних науках.
8. Постфіксна форма запису виразів. (обернений польський запис).
На практиці використовують префіксну та постфіксну форму запису, оскільки вони однозначно відповідають виразу і не використовують дужок. (польські записи). Обернений польський запис відповідає обходу дерева знизу вверх (постфіксна). 1) Відвідати ліве піддерево, 2) Відвідати праве піддерево, 3) Відвідати корінь.
Розглянемо арифметичний вираз: (a+b/c)*(d-e*f). Зобразимо його у вигляді дерева. Обійдемо це дерево, виписуючи символи у вершинах у тому порядку, в якому вони зустрічаються при заданому способі обходу. У разу обходу в зворотньому порядку – постфіксний або обернений польський запис: abc/+def*-*.
Для обчислення значення виразу в зворотньому польському записі його читають зліва направо і виділяють два операнди разом із знаком операції після них. Ці операнди та знак операції вилучають із запису, виконують операцію, а її результат записують на місце вилучення символів.
Зазначимо, що оскільки польські записи однозначні та можуть бути легко обчислені без сканування назад і вперед, то їх широко використовують у комп’ютерних науках.