Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Prakt_rab_TAiSD_ukr_2012.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
398.85 Кб
Скачать

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 6 Тема: Реалізація дерев

Ціль роботи: набуття практичних навичок опрацювання таких динамічних структур, як зв'язні списки і дерева

Завдання

  1. Розробити програми які виконують операції, вказані в індивідуальному завданні.

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

  3. Розробити програму для роботи з деревами. Кожен елемент дерева містить посилання на батьківський елемент і посилання на елементи-нащадки (необмежена кількість). Програма має забезпечувати введення і побудову дерева.

  4. Кожен елемент списку містить інформаційне поле (атрибут) деякого простого типу: символ, стрічка, число.

  5. Всі операції над динамічними структурами мають супроводжуватися відповідним виведенням на екран.

  6. У контрольних прикладах забезпечити опрацювання структур з 10-20 елементами.

Таблиця 6.1 – Варіанти індивідуальних завдань

Двонапрямлений зв'язний список

Дерево

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

Видалення зі списку повторень.

Визначення всіх листків дерева.

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 7

Тема: Реалізація бінарних дерев

Ціль роботи: роботи: набуття навичок програмування дерев

Завдання 1

Розробити засоби динамічного збереження дерев та виконання дій над ними відповідно до варіанту.

Таблиця 7.1 – Варіанти індивідуальних завдань

Завдання

1

Перевірити, чи двійкове дерево є збалансованим.

2

Знайти вершину в дереві.

3

Розробити програму для роботи з червоно-чорним деревом та процедуру пошуку в ньому.

4

Розробити програму побудови бінарного дерева за арифметичним виразом (наприклад, 2+3-5+7).

5

Знищити заданий елемент у бінарному дереві.

6

Додати вершину впорядковане бінарне дерево.

7

Додати вершину невпорядковане дерево.

8

Здійснити заміну значення заданої вершини.

9

Вивести на друк листки дерева.

10

Вивести на друк ліві вершини дерева.

11

Вивести на друк всі вершини, значення яких більше за корінь на одиницю.

12

Вивести на друк праві вершини дерева.

13

Вивести на друк всі вершини, значення яких більше за корінь на задану величину.

14

Перевірити за допомогою дерева, чи стрічка є паліндромом (читається зліва направо та справа наліво однаково).

15

Побудувати дерево синтаксичного розбору речення.

16

Вивести на друк всі ліві вершини збалансованого дерева.

17

Вивести на друк всі червоні вершини червоно-чорного дерева.

18

Вивести на друк всі чорні вершини червоно-чорного дерева.

19

Знайти в бінарному дереві вершину, сума значень прямих нащадків якої є максимальною.

Завдання

20

Знайти в бінарному дереві вершину, сума значень прямих нащадків якої є мінімальною

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 8

Тема: Реалізація методів пошуку

Ціль роботи: набуття практичних навичок застосування алгоритмів пошуку.

Завдання

Розробити процедури та функції для пошуку в одновимірних масивах одним із методів: лінійний пошук, пошук з бар'єром, двійковий (бінарний) пошук, інтерполяційний пошук. В контрольному прикладі забезпечити пошук потрібних елементів в масивах.

Таблиця 9 – Варіанти індивідуальних завдань

Завдання

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

Елементи масивів, які наявні в декількох екземплярах або тільки в масиві А, або тільки в масиві В.

30

Медіани масивів А і В.

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 9

Тема: Реалізація сортування методом «бульбашки»

Ціль роботи: набуття практичних навичок застосування алгоритмів сортування.

Завдання

Розробити процедури та функції для сортування методом «бульбашки» за алфавітом (зростання) записів з практичної роботи №2. Передбачити, що поле для сортування вводить(обирає) користувач.

Звіт повинен містити

  1. Тема й ціль роботи

  1. Завдання.

  1. Хід роботи.

  2. Код програми.

  3. Висновок.

Практична робота № 10

Тема: Реалізація сортування вибором

Ціль роботи: набуття практичних навичок застосування алгоритмів сортування.

Завдання

Розробити процедури та функції для сортування вибором за алфавітом (зростанням) записів з практичної роботи №2. Передбачити, що поле для сортування вводить(обирає) користувач.

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 11

Тема: Реалізація швидкого сортування

Ціль роботи: набуття практичних навичок застосування алгоритмів сортування.

Завдання

Розробити процедури та функції для реалізації швидкого сортування за алфавітом (зростанням) записів з практичної роботи №2. Передбачити, що поле для сортування вводить(обирає) користувач.

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 12

Тема: Реалізація сортування вставками

Ціль роботи: набуття практичних навичок застосування алгоритмів сортування.

Завдання

Розробити процедури та функції для сортування вставками за алфавітом (зростанням) записів з практичної роботи №2. Передбачити, що поле для сортування вводить(обирає) користувач.

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

Практична робота № 13

Тема: Реалізація пірамідального сортування

Ціль роботи: набуття практичних навичок застосування алгоритмів сортування.

Завдання

Розробити процедури та функції для пірамідального сортування за алфавітом (зростанням) записів з практичної роботи №2. Передбачити, що поле для сортування вводить(обирає) користувач.

Звіт повинен містити

  1. Тема й ціль роботи

  2. Завдання.

  3. Хід роботи.

  4. Код програми.

  5. Висновок.

ПЕРЕЛІК ЛІТЕРАТУРИ

  1. Ахо Альфред В., Хопкрофт Джон Э., Ульман Джеффри Д. Построение и анализ вычислительных алгоритмов. - М.: Мир,1979. - 536 c.

  2. Ахо Альфред В., Хопкрофт Джон Э., Ульман Джеффри Д. Структуры данных и алгоритмы. - М.: Издательский дом “Вильямс”, 2000. - 384 c.

  3. Ковалев М.Я., Котов В.М.,Лепин В.В. Теория алгоритмов. Часть 2. Приближенные алгоритмы. – Мн.: БГУ, 2003. – 147 с.

  4. Кормен Т., Лейзерсон Ч., Ривест Р.. Алгоритмы: построение и анализ. - М.: МЦНМО, 1999. - 960 с., 263 ил.

  5. Котов В.М., Пилипчук Л.А., Соболевская Е.П. Теория алгоритмов. Ч.1. - Мн.: БГУ. 2001. - 192 с.

  6. Котов В.М., Соболевская Е.П. Структуры данных и алгоритмы: теория и практика. - Мн.: БГУ. 2004. - 252 с.

  7. Окулов С. М. Программирование в алгоритмах / С. М. Окулов. — М.: БИНОМ. Лаборатория знаний, 2004. — 341 с: ил.

  8. Шаховська Н.Б., Р.О. Голощук «Алгоритми і структури даних», посібник, під редакцією д.т.н., професора В.В. Пасічника. «Магнолія 2006», Львів, 2010. – 215 с.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]