Подання дерев з використанням списків синів

Суть подання у тому, що створюється масив, розмірністю рівною кількістю вузлів дерева. Цей масив містить покажчики на списки, що містять синів для даного сайту.

Графічне подання:

 
  Подання дерев з використанням списків синів - student2.ru

Подання дерев з використанням покажчиків.

Суть подання у тому, що кожен вузол подається у вигляді окремої структури в динамічній пам'яті. У кожному вузлі є масив покажчиків на синів даного вузла.

Графічне подання.

 
  Подання дерев з використанням списків синів - student2.ru

Варіанти обходу дерев.

1. Прямий.

2. Зворотний.

3. Симетричний.

При проходженні в прямому порядку (тобто при прямому впорядкуванні) вузлів дерева Подання дерев з використанням списків синів - student2.ru спочатку відвідується корінь Подання дерев з використанням списків синів - student2.ru , потім вузли піддерева Подання дерев з використанням списків синів - student2.ru , далі всі вузли піддерева Подання дерев з використанням списків синів - student2.ru , і таке інше. Останніми відвідуються вузли піддерева Подання дерев з використанням списків синів - student2.ru .

При симетричному обході вузлів дерева Подання дерев з використанням списків синів - student2.ru спочатку відвідуються в симетричному порядку всі вузли піддерева Подання дерев з використанням списків синів - student2.ru , далі корінь Подання дерев з використанням списків синів - student2.ru , потім послідовно в симетричному порядку всі вузли піддерев Подання дерев з використанням списків синів - student2.ru .

Під час обходу в зворотному порядку спочатку відвідуються в зворотному порядку всі вузли піддерева Подання дерев з використанням списків синів - student2.ru , потім послідовно відвідуються всі вузли піддерев Подання дерев з використанням списків синів - student2.ru , також у зворотному порядку, останнім відвідується корінь Подання дерев з використанням списків синів - student2.ru .

Завдання для виконання лабораторної роботи №5.

1. Реалізувати дерево математичного виразу, реалізоване за допомогою списку синів. Зробити його обхід прямим методом. Підрахувати кількість вузлів дерева.

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

3. Реалізувати дерево математичного виразу, реалізоване за допомогою списку синів. Зробити його обхід зворотним методом. Підрахувати кількість вузлів дерева.

4. Реалізувати дерево математичного виразу, реалізоване за допомогою покажчиків. Зробити його обхід зворотним методом. Підрахувати кількість вузлів дерева.

5. Реалізувати дерево математичного виразу, реалізоване за допомогою списку синів. Зробити його обхід симетричним методом. Підрахувати кількість вузлів дерева.

6. Реалізувати дерево математичного виразу, реалізоване за допомогою покажчиків. Зробити його обхід симетричним методом. Підрахувати кількість вузлів дерева.

7. Реалізувати дерево математичного виразу, реалізоване за допомогою списку синів. Зробити його обхід прямим методом. Визначити глибину дерева.

8. Реалізувати дерево математичного виразу, реалізоване за допомогою покажчиків. Зробити його обхід прямим методом. Визначити глибину дерева.

9. Реалізувати дерево математичного виразу, реалізоване за допомогою списку синів. Зробити його обхід зворотним методом. Визначити глибину дерева.

10. Реалізувати дерево математичного виразу, реалізоване за допомогою покажчиків. Зробити його обхід зворотним методом. Визначити глибину дерева.

11. Реалізувати дерево математичного виразу, реалізоване за допомогою списку синів. Зробити його обхід симетричним методом. Визначити глибину дерева.

12. Реалізувати дерево математичного виразу, реалізоване за допомогою покажчиків. Зробити його обхід симетричним методом. Визначити глибину дерева.

Вимоги до звіту:

Звіт з лабораторної роботи повинен відповідати наступній структурі:

1. Словесна постановка задачі. У цьому підрозділі проводиться повний опис завдання. Описується суть завдання, аналіз вхідних в неї фізичних величин, район їх допустимих значень, одиниці їх вимірювання, можливі обмеження, аналіз умов при яких завдання має рішення (не має рішення), аналіз очікуваних результатів.

2. Математична модель. У цьому підрозділі вводяться математичні описи фізичних величин і математичний опис їх взаємодій. Мета підрозділу - представити вирішувану задачу в математичній формулюванні.

3. Алгоритм рішення задачі. У підрозділі описується розробка структури алгоритму, обгрунтовується абстракція даних, завдання розбивається на підзадачі. Приводится схема алгоритму або псевдокод. Вказується оцінка алгоритму.

4. Лістинг програми.

5. Контрольний тест. Підрозділ містить набори вихідних даних і отримані в ході виконання програми результати.

6. Висновки з лабораторної роботи.

Лабораторна робота №6

Тема: Знаходження найкоротшої відстані між двома вершинами графа методом Дейкстри.

Мета лабораторної роботи – закріплення теоретичного матеріалу, отримання практичних навичків реалізації алгоритма Дейкстри.

Орієнтований граф.

Орієнтований граф (або скорочено орграф) Подання дерев з використанням списків синів - student2.ru складається з множени вершин Подання дерев з використанням списків синів - student2.ru і множени дуг Подання дерев з використанням списків синів - student2.ru . Вершини також називають вузлами, а дуги - орієнтованими ребрами. Дуга може бути подана у вигляді впорядкованої пари вершин Подання дерев з використанням списків синів - student2.ru , де вершина Подання дерев з використанням списків синів - student2.ru - початок, а Подання дерев з використанням списків синів - student2.ru - кінець дуги.

Графічне представлення.

 
  Подання дерев з використанням списків синів - student2.ru

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

Варіанти представлення графів:

1. матріца суміжності;

2. список суміжності.

Наши рекомендации