Завдання лабораторної роботи

1. Повторити теоретичний матеріал про структуру двійкових дерев та їхні основні характеристики, організацію взаємозв’язків між елементами дерева, методи проходу по дереву, способи програмної реалізації основних операцій над даними в деревах та інше.

2.Уважно прочитати всі розділи завдання лабораторної роботи та їхню конкретизацію в індивідуальному завданні.

3.Продумати алгоритм та методи і форми програмної реалізації кожного із розділів завдання.

4.У п. 1 індивідуального завдання вказано, який тип повинні мати дані, що будуть занесені в пам’ять у формі дерева. Треба підготувати два текстові файли з вхідними даними такого типу – у кожному файлі має бути не менше 15-ти відповідних елементів. Дані одного з файлів мають бути записані у порядку, що дасть змогу сформувати дерево, близьке до збалансованого. Другий набір даних має відрізнятися від першого, а дерево, побудоване для цього набору, повинно наочно ілюструвати реалізацію перетворень, вказаних в індивідуальному завданні.

5.Для кожного зі створених наборів вхідних даних треба вручну побудувати відповідне впорядковане двійкове дерево та зобразити його графічно у звіті.

6.Розробити та оголосити структуру, що описує вузол дерева. Якщо це доцільно для реалізації завдань лабораторної роботи, то вузол, крім адрес дочірніх елементів, може додатково зберігати й адресу батьківського вузла.

7.Організувати послідовне зчитування даних із файла та формування з них впорядкованого двійкового дерева.

8.Після побудови дерева його необхідно роздрукувати. Порядок проходу по дереву для відображення його елементів вказано в п. 2 індивідуального завдання. Перевірити правильність результатів за побудованим графічним зображенням дерева.

9.У п. 3 індивідуального завдання зазначено операції (дії), які мають бути виконані над створеним деревом або його елементами. Якщо вони змінюють конфігурацію дерева (наприклад, проводиться видалення, переставляння чи заміна якихось вузлів), то необхідно роздрукувати змінене дерево (можна застосувати функцію, розроблену для реалізації п. 2) і перевірити коректність зроблених перетворень.

10. Наприкінці роботи програми побудоване дерево треба витерти з динамічної пам’яті. Порядок видалення вузлів встановлено в п. 4.

11. У п. 5 індивідуального завдання вказано функцію програми, яка має бути реалізована без використання рекурсії. Для повного обходу дерева у цій функції треба певним чином (наприклад, застосовуючи стек або масив) зберігати ще не пройдені (або вже пройдені) вузли та піддерева.

12. Оформити звіт з лабораторної роботи, в якому крім тексту програми (з відповідними коментарями), треба навести вміст кожного з файлів, що містять вхідні дані, графічне зображення кожного з дерев, результати виконання програми для даних цих дерев.

В індиві­ду­альному завданні вказано: 1 – дані, які мають бути зчитані з файлів і занесені у вузли дерева, та ознаку (умову) для впорядкування вузлів; 2 – порядок обходу дерева для друку його елементів (даних у вузлах); 3 – дії, що мають бути виконані над елементами дерева; 4 – порядок витирання вузлів для повного видалення дерева; 5 – призначення функції, яку потрібно реалізувати без використання рекурсії.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: