re_Enum » - перевірка наявності виду заходу в перерахуванні.
3.2 Опис роботи методів
Метод « Add » - викликається при натисканні пунктів меню «Файл - Відкрити» і «Робота з даними - Вставка». Сам алгоритм роботи даного методу представлений на малюнку 3.1.
Малюнок 3.1 - Блок схема методу « Add »
Метод « Scan » - здійснює сам обхід бінарного дерева (є практично основним методом програми). Даний метод не викликається за допомогою меню, а виконує роль другорядного методу (підпрограми) для решти методів (таких як: « Quest », « Sub »,« Removal »).
Алгоритм обходу (метод « Scan ») представлений на малюнку 3.2.
Рисунок 3.2 - Блок схема методу « Scan »
Метод « Sub » - метод для здійснення заміни елементів в дереві. Сам алгоритм полягає в наступному:
) провести пошук елемента за допомогою обходу (методу « Scan »);
) замінити знайдених елемент на новий елемент файлі;
) призвести перебудову дерева за допомогою методу « Add », алгоритм якого представлений на малюнку 3.1.
Більш докладно алгоритм роботи методу « Sub » представлено на малюнку 3.3.
Малюнок 3.3 - Блок схема методу « Sub »
Метод « Top » - здійснює пошук максимального елемента в дереві по засобом операторів відносини. Алгоритм роботи представлений на малюнку 3.4.
Малюнок 3.4 - Блок схема методу « Top »
Метод « Removal » - видаляє елемент з бінарного дерева. Видалення елемента в бінарному дереві включає в себе 3 випадки [8]:
) видаляється елемент не має синів, в даному випадку такий елемент називається листом і замінюється просто на порожнє значення.
) видаляється елемент має або лівого сина, або правого, в цьому випадку досить поміняти видаляється елемент на його сина, видалити посилання на сина і очистити пам'ять.
) видаляється елемент має і лівого і правого сина. У даній ситуації потрібно знайти максимальний елемент з лівого піддерева видаляється елемента (або мінімальний елемент з правого піддерева видаляється елемента) і перемістити його на місце видаляється вузла.
Алгоритм роботи методу « Removal » більш докладно можна побачити на малюнку 3.5, з виконанням всіх ситуацій видалення елемента з бінарного дерева.
Малюнок 3.5 - Блок схема методу « Removal »
Метод « Quest » - метод пошуку елемента в бінарному дереві, способом обходу «У глибину - зверху вниз (префіксний обхід)», по заданому ключу. При використанні даного методу автоматично відбувається запуск методу « Scan » - Обхід (рисунок 3.2), в якій відбувається пошук даним елемента і повертає його назад в « Quest »де відбуваються другорядні дії (виділення знайденого елемента в таблицю і дереві). Блок схема методу « Quest » представлена ??на малюнку 3.7.
Малюнок 3.7 - Блок схема метод?? « Quest »
Решта методи « Loading » і « Preservation » - аналогічні методу « Scan », тобто такий самий алгоритм, але замість «Процесів» виконуваних після задоволення «Рішення» відбувається «Завантаження» (метод « Loading ») бінарного дерева у відповідні компоненти справочно- інформаційної системи або «Вивантаження» (метод « Preservation ») бінарногодерева в файл.
3.3 Структура програмного продукту
Програма складається з двох класів:
) клас «Node» - вузол бінарного дерева, елемента класу відображені в таблиці 3.1;
) клас «Notebook» - записник (предметна область), елементи описані в таблиці 3.2.
Таблиця 3.1 - Елементи класу «Node»
ІмяВід элементаТипСпецификаторОписаниеValueПолеT:IComparablePublicСодержимое вузла бінарного дереваLeftПолеN...