Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звіт С1 - .docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
231.4 Кб
Скачать

6. Контрольні приклади та аналіз їх реалізації

Перевірка роботи балансування, а також функцій додавання і видалення вузлів методам контролю мінімальної і максимальної висот, а також виводу ключі вузлів дерева.

Введення ключів, які сформують дерево. Ключі вводяться послідовно по зростанню, без балансування таким чином утворилося б дерево з одним шляхом (фактично вектор), його мінімальна висота була б одиницею, а максимальна – кількістю всіх введених ключів (або кількістю усіх вузлів).

Введення даних: -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 20 30 40 50 60 70 80 90 100 200 300 400 500 600 700 800 900 1000

Після введення отримаємо, що максимальна висота буде дорівнювати - 8, а мінімальна – 5. Отже балансування при додаванні елементів працює, всю структуру дерева і кольори вузлів можна перевірити здійснивши ручний прохід по дереву ,який включає програма.

Тепер перевіримо роботу видалення і балансування при видаленні, видаливши деякі елементи.

Введення ключів, що будуть видалені: -10 -2 5 10 50 100 500 1000

Після видалення отримаємо, що максимальна висота буде дорівнювати - 6, а мінімальна – 4.

Тепер для перевірки чи всі елементи додані і чи всі видалені, здійснимо прямий (від кореня) вивід ключів вершин дерева.

Виведені елементи: 4 80 400 700 900 800 600 200 300 90 9 40 60 70 20 30 7 8 6 -3 1 3 2 -1 0 -7 -5 -4 -6 -9 -8

Оскільки структура масивів даних організовується на основі збалансованих червоно - чорних дерев, кількість пройдених вузлів при пошуку, видаленні чи додаванні нового вузла буде дорівнювати до log(n), де n – кількість усіх вузлів дерева, це і являється часовою складністю О( log(n) ).

Висновок

Дана програма являється шаблоном для бази даних, концепція пам’яті якої базується на червоно – чорних бінарних деревах пошуку, що забезпечує швидкий пошук, видалення і додавання нових даних навіть у досить великих масивах даних. Орієнтування по даних здійснюється за ключем вузла, який у даній програмі являється числовим значенням, у разі потреби формат ключа можна замінити. Також можна вдосконалити програму надавши можливість користувачеві самому вибирати, формат ключа. Також, як було зазначено вище, дана програма являється шаблоном і не прив’язана до конкретних даних, у разі потреби до елементів бази даних можна приєднати різні формати даних. Також можна вдосконалити програму надавши можливість користувачеві самому задавати типи даних які міститимуть елементи бази даних. Структура програми дозволяє легке створення і підключення нових можливостей програми. Оскільки дана програма являється шаблоном, у неї простий інтерфейс з користувачем, цей інтерфейс можна вдосконалити і зробити більш зручним для користувача.

У порівнянні з іншими програмними продуктами даного типу, ця програма має ряд переваг. По-перше, через те, що дана програма являється шаблоном і знаходиться на ранній стадії розробки, її можна розвивати у різних напрямках (наприклад з акцентом на продуктивність чи функціональність програми) і застосовувати експериментальні чи найбільш ефективні технології при досягненні певних цілей. По-друге дана програма з прилеглими до неї матеріалами по збалансуванню і деревах, а також відкритому коді, може служити для вивчення механізмів роботи дерев і балансування. По-третє занісши певні дані до структури вузлів, дану програму можна використовувати як повноцінну базу даних, для вирішення певних задач, при цьому її швидкодія буде вищою від більш вдосконалених аналогів програм даної теми.

Отже дана програма – це рання версія (основа) повноцінної бази даних, яка потребує багатьох вдосконалень і розроблялася з метою забезпечення високої продуктивності майбутньої бази даних, а також легкого додавання нових компонентів у структуру коду програми.

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