
- •Мета виконання лабораторних робіт
- •Порядок виконання лабораторних робіт
- •Завдання для лабораторних робіт Лабораторна робота №1
- •Варіанти індивідуальних завдань
- •Лабораторна робота №2
- •Лабораторна робота №3
- •Лабораторна робота №4
- •Лабораторна робота №5
- •Лабораторна робота №6
- •Лабораторна робота №7
- •Лабораторна робота №8
- •Лабораторна робота №9
- •Лабораторна робота №10
- •Література до лабораторних занять
- •Алгоритми і структури даних методичні вказівки
Лабораторна робота №5
Тема: робота з динамічними структурами.
Мета роботи: набуття практичних навичок опрацювання таких динамічних структур як звязні списки і дерева.
Завдання на роботу
Розробити програми які виконують операції вказані в індивідуальному завданні.
Програму для роботи з двонапрваленими звязними списками. Кожен елемент списку містить зсилки на наступний і попередній елемент в списку. Програма повинна забезпечувати ввід і побудову списку.
Програму для роботи для роботи з деревами. Кожен елемент дерева містить зсилку на батьківський елемент і зсилки на елементи-нащадки (необмежена кількість). Програма повинна забезпечувати ввід і побудову дерева.
Кожен елемент списку містить інформаційне поле(атрибут) деякого простого типу: символ, стрічка, число.
Всі операції над динамісними стурктурами повинні супроводжуватись відповідним виводом на екран.
В контрольних прикладах забезпечити опрацювання стурктур з 10-20 елементами.
Варіанти індивідуальних завдань.
№ |
Двонапаравлений звязний список |
Дерево |
1 |
Видалення елемента зі списку за вказаним значенням інформаційного атрибуту. |
Знайти значення максимуму і мінімуму арифметичних чисел в дереві кожен елемент якого містить деяке число як значення інформаційного показника. |
2 |
Вставка нового елемента в список після вказаного елемента за значенням інформаційного атрибуту. |
Визначення кількості нащадків в кожного елемента дерева. |
3 |
Вставка нового елемента в список перед вказаним елементом за значенням інформаційного атрибуту. |
Визначення елемента дерева який має найменшу кількість безпосередніх нащадків. |
4 |
Вставка елемента в список у вказану позицію. |
Визначення найкоротшої стрічки в дереві кожен елемент якого містить деяку стрічку як значення інформаційного показника. |
5 |
Видалення зі списку повторень. |
Вставка нового елемента в дерево як предок елемента зі вказаним значенням інформаційного атрибуту. |
6 |
Видалення другого і передостаннього елемента списку. |
Розбиття дерева на два дерева за вказаним значенням інформаційного атрибуту елемента для розбиття. |
7 |
Видалення елемента зі списку за вказаним порядковим номером. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаленого елемента стають нащадками батьківського елемента видаленого) |
8 |
Доповнення списку з обох кінців. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаляються) |
9 |
Розбиття списку на два списки за вказаним порядковим номером елемента для розбиття. |
Визначення середнього арифметичного чисел в дереві кожен елемент якого містить деяке число як значення інформаційного показника. |
10 |
Розбиття списку на два списки за вказаним значенням інформаційного атрибуту елемента для розбиття. |
Визначення елемента дерева, який розміщений «найдалі» від кореня дерева. |
№ |
Завдання |
Завдання |
11 |
Розбиття списку на два списки, один з яких містить всі елемента зі значенням інформаційного атрибуту меншим вказаного значенням інформаційного атрибуту, а інший відповідно зі значеннями більшими вказаного значення. |
Визначення елементу дерева який має найбільшу кількість безпосередніх нащадків. |
12 |
Сортування списку методом бульбашки. |
Визначення найдовшої стрічки в дереві кожен елемент якого містить деяку стрічку як значення інформаційного показника. |
13 |
Видалення всіх елементів з парним порядковим номером. |
Вставка нового елемента в дерево як нащадок елемента зі вказаним значенням інформаційного атрибуту. |
14 |
Видалення всіх елементів з непарним порядковим номером. |
Розбиття дерева на два дерева за вказаним значенням інформаційного атрибуту елементу для розбиття. |
15 |
Вставка нових елементів на непарні позиції в списку. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаленого елемента стають нащадками батьківського елемента видаленого) |
16 |
Вставка нових елементів на прані позиції в списку. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаляються) |
17 |
Розбиття списку на два списки за вказаним порядковим номером елементу для розбиття. |
Вставка нового елемента в дерево як предок елемента зі вказаним значенням інформаційного атрибуту. |
18 |
Розбиття списку на два списки за вказаним значенням інформаційного атрибуту елементу для розбиття. |
Розбиття дерева на два дерева за вказаним значенням інформаційного атрибуту елементу для розбиття. |
19 |
Розбиття списку на два списки, один з яких містить всі елементи зі значенням інформаційного атрибуту більшим вказаного значенням інформаційного атрибуту, а інший відповідно зі значеннями меншим вказаного значення. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаленого елемента стають нащадками батьківського елемента видаленого) |
20 |
Сортування списку методом бульбашки. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаляються) |
21 |
Видалення всіх елементів з парним порядковим номером. |
Визначення середнього арифметичного чисел в дереві кожен елемент якого містить деяке число як значення інформаційного показника. |
22 |
Видалення всіх елементів з непарним порядковим номером. |
Визначення елементу дерева який розміщений «найдалі» від кореня дерева. |
23 |
Вставка нових елементів на непарні позиції в списку. |
Визначення елементу дерева який має найбільшу кількість безпосередніх нащадків. |
24 |
Вставка нових елементів на прані позиції в списку. |
Визначення всіх «листків» дерева. |
25 |
Видалення елемента зі списку за вказаним значенням інформаційного атрибуту. |
Вставка нового елемента в дерево як нащадок елемента зі вказаним значенням інформаційного атрибуту. |
26 |
Вставка нового елемента в список після вказаного елемента за значенням інформаційного атрибуту. |
Розбиття дерева на два дерева за вказаним значенням інформаційного атрибуту елементу для розбиття. |
27 |
Вставка нового елемента в список перед вказаним елементом за значенням інформаційного атрибуту. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаленого елемента стають нащадками батьківського елемента видаленого) |
28 |
Вставка елемента в список у вказану позицію. |
Видалення елемента з дерева за вказаним значенням інформаційного атрибуту. (Нащадки видаляються) |
29 |
Видалення зі списку повторень. |
Визначення всіх «листків» дерева. |