- •Орієнтовні теоретичні питання до іспиту з курсу “Комп’ютерна дискретна математика”
- •1 Семестр 2012-2013 навчального року викл. Кублій л.І.
- •Типи задач, які подано в екзаменаційних білетах (аналогічні задачі розв’язуються на практичних заняттях і подано в домашніх завданнях)
- •Властивості операцій над множинами
- •Основна література.
- •Розміщення з повтореннями
- •Перестановки
- •Сполуки (комбінації)
- •Кількість способів розбиття множини́ на підмножи́ни
- •Сполуки (комбінації) з повтореннями
- •Формула включень і виключень
- •Метод математичної індукції
- •Домашнє завдання до теми “Основи комбінаторики.
- •Декартів добуток множин
- •Потужність множини. Рівнопотужні множини
- •Спеціальні бінарні відношення на множині
- •Замикання відношення
- •Перетворення формул в днф і кнф. Поліноми Жегалкіна
- •4. Метод перетворення вектора значень функції до вектора коефіцієнтів полінома Жегалкіна.
- •Функціональна повнота
- •1 Дослідження повноти системи шляхом зведення до повної системи.
- •3 Лінійність функції
- •4 Критерій Поста
- •5 Виділення базису повної системи: метод Петрика
- •Побудова тупикових, мінімальних, найкоротших днф
- •Ейлерові цикли
- •Префіксна й постфіксна форми запису виразів
Префіксна й постфіксна форми запису виразів
Нехай Т
— бінарне дерево,
— його корінь,
і
— його ліве й праве піддерева:
Для заданого дерева можна визначити такі впорядковані обходи:
— згори вниз (ще
кажуть: у прямому порядку):
;
— зліва направо
(ще кажуть: у внутрішньому порядку):
;
— знизу вгору (ще
кажуть: у зворотному порядку):
.
У свою чергу піддерева і теж є бінарними деревами і для них теж можна застосувати вказані вище впорядковані обходи. При цьому використовується поняття рекурсії. Об’єкт називається рекурсивним, якщо він містить самого себе чи його визначено за допомогою самого себе.
Приклад. Для заданого бінарного дерева запишемо послідовності вершин, які визначають різні обходи:
— згори вниз;
— зліва направо;
— знизу вгору.
Для довільних k-арних дерев також можна вказати узагальнені порядки обходу:
— згори вниз;
— зліва направо;
— знизу вгору.
При аналізі різноманітних арифметичних і логічних виразів можна застосовувати дерева і їхній обхід.
Приклад.
Нехай дано арифметичний вираз
.
Цьому виразові відповідає таке бінарне
дерево (на дереві операцію множення
позначено *, а піднесення до степеня —
^):
Здійснимо обхід дерева, використовуючи всі три способи.
При обході дерева згори вниз одержимо польський (префіксний) запис початкового виразу:
.
При обході зліва направо матимемо інфіксний запис:
.
Цей запис не містить
дужок, потрібних для визначення порядку
виконання операцій, і тому він сприймається
неоднозначно. Якщо ж, відповідно до
обходу дерева зліва направо, кожну
операцію з аргументом взяти в дужки, то
одержимо запис
,
який сильно нагадує початковий вираз
і відображає порядок виконання в ньому
операцій з врахуванням пріоритетів.
При обході дерева знизу вгору матимемо зворотний польський (постфіксний) запис:
.
Із наведеного прикладу видно, що в усіх трьох формах подання арифметичного виразу порядок аргументів (тобто листків дерева) зберігається тим самим; змінюється лише порядок знаків операцій. У програмуванні використовують польські записи — префіксний і постфіксний, які є однозначними.
У програмуванні використовують польські записи — префіксний і постфіксний, які є однозначними.
Для обчислення значення виразу, поданого польським (префіксним) записом, його проглядають справа наліво (тобто з кінця на початок) і виділяють два операнди разом зі знаком операції перед ними. Ці операнди і знак операції вилучають зі списку, виконують операцію і результат записують на місце вилучених символів.
Приклад.
Арифметичному виразові
,
значення якого дорівнює –15, відповідає
польський (префіксний) запис
.
Покрокове обчислення значення виразу
за його польським записом виконаємо в
таблиці:
|
Вираз |
Виділені символи |
Обчислення |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Одержано результат |
|
Для обчислення значення виразу, поданого зворотним польським (постфіксним) записом, його проглядають зліва направо (тобто з початку на кінець) і виділяють два операнди разом зі знаком операції після них. Ці операнди і знак операції вилучають зі списку, виконують операцію і результат записують на місце вилучених символів.
Приклад.
Арифметичному виразові
,
значення якого дорівнює –15, відповідає
зворотний польський (постфіксний) запис
.
Покрокове обчислення значення виразу
за його зворотним польським записом
виконаємо в таблиці:
|
Вираз |
Виділені символи |
Обчислення |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Одержано результат |
|
1
читається: “а із ен по ем”;
— “а із п’яти по три”.
читається: “ен факторіал”;
— “п’ять факторіал”.
2
читається: “це із ен по ем”;
— “це із п’яти по три”.
3 Не треба плутати означення монотонної логічної функції з означенням монотонної функції від дійсної змінної, де монотонна функція може бути не тільки монотонно зростаючою чи монотонно не спадною, а й монотонно спадною чи монотонно не зростаючою.
