ustify"> призвести перебудову дерева за допомогою методу «Add», алгоритм якого представлений на малюнку 3.1.
Більш докладно алгоритм роботи методу «Shift» представлено на малюнку 3.3.
Малюнок 3.3 - Блок схема методу «Shift»
Метод «Max» -Здійснює пошук максимального елемента в дереві по засобом операторів відносини. Алгоритм роботи представлений на малюнку 3.4.
Малюнок 3.4 - Блок схема методу «Max»
Метод «Delete» - видаляє елемент з бінарного дерева. Видалення елемента в бінарному дереві включає в себе 3 випадки [8]:
видаляється елемент не має синів, в даному випадку такий елемент називається листом і замінюється просто на порожнє значення. Даний випадок представлений на малюнку 3.5 (видаляється елемент виділено синім кольором).
Малюнок 3.5 - Видалення елемента з бінарного дерева (випадок 1)
видаляється елемент має або лівого сина, або правого, в цьому випадку досить поміняти видаляється елемент на його сина, видалити посилання на сина і очистити пам'ять. Більш наочно даний випадок можна побачити на малюнку 3.6.
Малюнок 3.6 - Видалення елемента з бінарного дерева (випадок 2)
видаляється елемент має і лівого і правого сина. У даній ситуації потрібно знайти максимальний елемент з лівого піддерева видаляється елемента (або мінімальний елемент з правого піддерева видаляється елемента) і перемістити його на місце видаляється вузла. Подивитися етапи видалення елемента (що має двох нащадків) з бінарного дерева можна на малюнку 3.7.
Малюнок 3.7 - Видалення елемента з бінарного дерева (випадок 3)
Алгоритм роботи методу «Delete» більш докладно можна побачити на малюнку 3.8, з виконанням всіх ситуацій видалення елемента з бінарного дерева.
Малюнок 3.8 - Блок схема методу «Delete»
Метод «Find_v1» - метод пошуку елемента в бінарному дереві, способом обходу «У глибину - зверху вниз (префіксний обхід)», по заданому ключу. При використанні даного методу автоматично відбувається запуск методу «Find_v2» - Обхід (рисунок 3.2), в якій відбувається пошук даним елемента і повертає його назад в «Find_v1» де відбуваються другорядні дії (виділення знайденого елемента в таблицю і дереві). Блок схема методу «Find_v1» представлена ??на малюнку 3.9.
Малюнок 3.9 - Блок схема методу «Find_v1»
Решта методи «Download» і «Save» - аналогічні методу «Find_v2», тобто такий самий алгоритм, але замість «Процесів» виконуємоих після задоволення «Рішення» відбувається «Завантаження» (метод «Download») бінарногодерева у відповідні компоненти справочно- інформаційної системи або «Вивантаження» (метод «Save») бінарногодерева в файл.
3.3 Структура програмного продукту
Програма складається з двох класів:
клас «Node» - вузол бінарного дерева, елемента класу відображені в таблиці 3.1;
клас «Sportsman» - спортсмен (предметна область), елементи описані в таблиці 3.2.
Таблиця 3.1 - Елементи класу «Node»
ІмяВід элементаТипСпецификаторОписание12345ValueПолеT:IComparablePublicСодержимое вузла бінарного дереваLeftПолеNode lt; T gt; PrivateСсилка на лівого синаRightПолеNode lt; T gt; PrivateСсилка на правого синаParentПолеNode lt; T gt; PrivateСсилка на отцаNode (T Value) Конструктор-publicІніціалізація поля «Value» Add (T Value) МетодVoidPublicДобавленіеузлавбінарноедеревоFind_v1 (string Search) МетодVoidPublicПоіск елемента в бінарному деревеShift ( string Search, string New) МетодVoidPublicЗамена елемента в бінарному деревеDelete (string Search) МетодVoidPublicУдаленіе елемента з бінарного дереваMax (Node lt; T gt; Data) МетодNode lt; T gt; PublicПоіск макс. елемента в деревеDownload (TreeView Tree, DataGridView Table) МетодVoidPublicЗагрузка бінарногодерева в «Таблицю» і «Дерево» Save (string Path) МетодVoidPublicСохраненіе бінарногодерева в файлFind_v2 (string Search) МетодNode lt; T gt; PublicОбход бінарногодерева
Таблиця 3.2 - Елементи класу «Sportsman»
ІмяВід элементаТипСпецификаторОписание12345FIOПолеstringPrivateФИОageПолеintPrivateВозрастwinsПолеintPrivateКол-во победviewПеречісленіеEnumPrivateВід спортаSportsman (string FIO, int age, int wins, string view) Конструктор-PublicІніціалізація полів: FIO, age, wins, view
4. Опис інтерфейсу
Інтерфейс - сукупність можливостей, способів і методів взаємодії двох систем (буд...