Strip, Button, TextBox, DataGridView, TextBox, ToolTIp, Panel, Label, ComboBox, OpenFileDialog, SaveFileDialog, PictureBox, CheckBox, RedioButton.
2.3 Аналіз поставленого завдання
Обхід в глибину проводиться рекурсивно або з використанням стека. В обох випадках можна обходити вузли дерева в різній послідовності [4]. Обхід починається від кореня. Виділяють три найбільш важливих порядку обходу в глибину:
) префіксний (прямий) обхід - спочатку обробляється поточний вузол, потім ліве і праве піддерева;
) інфіксной (симетричний) обхід - спочатку обробляється ліве піддерево поточного вузла, потім корінь, потім праве піддерево;
) постфіксний (зворотний) обхід - спочатку обробляються ліве і праве піддерева поточного вузла, потім сам вузол.
Малюнок 1.2 - Бінарне дерево пошуку
Виходячи з малюнка 1.2 можна зробити наступні висновки:
) префіксний обхід: A, B, D, H, E, C, F, I, J, G;
2) інфіксной обхід: D, H, B, E, A, I, F, J, C, G;
3) постфіксний обхід: H, D, E, B, I, J, F, G, C, A.
Основним з достоїнств постфіксними обходу є - знаходження мінімального елемента в бінарному дереві [5]. Так як першою умовою даного обходу є: «Обхід лівого піддерева», а за умовою організації бінарного дерева - самий лівий елемент є мінімальним.
Також до гідності даного методу можна віднести швидку швидкість перебування елемента, оскільки буде відбувається порівнювання поточного елемента (в бінарному дереві) з елементом який потрібно знайти і вже за властивостями організації бінарних дерев слід «дійти» до необхідного елемента [7].
3. Опис розробленого програмного продукту
3.1 Опис програмних модулів
У програмі міститься безліч методів, властивостей і класів, кожен з яких виконує свої функції і забезпечує коректне виконання всіх дій.
Клас « Node » - вузол бінарного дерева, містить у собі такі методи:
) « Add » - метод додавання вузла в дерево пошуку;
) « Quest » - метод пошуку елемента в бінарному дереві, способом обходу «У глибину - знизу вгору (префіксний обхід)», по заданому ключу ( введеним користувачем в окремому вікні);
) « Sub » - метод для здійснення заміни елементів в дереві;
) « Removal » - метод видалення елемента з бінарного дерева (описані всі 3 випадки видалення елемента з дерева);
) « Top » - метод, який здійснює пошук максимального елемента в дереві по засобом операторів відносини і алгоритму організації бінарногодерева;
) « Scan » - метод, який здійснює сам «Обхід» бінарногодерева способом «У глибину - знизу вгору (префіксний обхід)»;
) « Loading » - метод завантаження бінарного дерева в компоненти «DataGridView» і «TreeView»;
) « Preservation » - метод збереження (вивантаження) бінарногодерева у файл, по зазначеному шляху користувачем.
Кожному з перерахованих методів вище (крім « Scan » і « Loading ») відповідає свій пункт в меню (« MenuStrip »):
) пункт меню «Вставка» - викликає метод « Add »;
) «Пошук - Пошук елемента» - здійснюється виконання методу « Quest »;
) «Пошук - Пошук максимального елемента» - відбувається виконання методу « Top »;
) «Зміна» - виклик методу « Sub »;
) «Видалення» - здійснення методу « Removal ».
Клас « Notebook » - записник (описана предметна область з її полями і назвою клас), включає в себе основні методи:
) « CompareTo » - перевизначення методу інтерфейсу « IComparable », який порівнює поточний екземпляр з іншим об'єктом того ж типу і повертає ціле число, яке показує, чи розташований поточний екземпляр перед, після або на тій же позиції в порядку сортування, що й інший об'єкт;
) « Compa...