Зміст
1. Завдання
2. Структурний опис розробки
2.1 Опис структури даних
2.2 Структура двійкового файлу. Представлення двійкового дерева у файлі
2.3 Вставка об'єкта в дерево
2.4 Видалення об'єкта
2.5 Алгоритм стиснення файлу
3. Функціональне опис розробки
4. Опис інтерфейсу користувача
5. Контрольні приклади
6. Висновки
7. Список використаної літератури
Програми
1. Завдання
Розробити шаблон класу, похідного від fstream, бітового файлом, в якому зберігається структура даних - двійкове дерево об'єктів. Тип зберігається у файлі об'єкта - параметр шаблону. Клас повинен забезпечувати виконання операцій створення файлу, відкриття існуючого файлу, додавання і видалення об'єкта, оновлення (стиснення) файлу, балансування дерева. Реалізувати дві версії програми для різних збережених об'єктів. Програма тестування повинна містити меню, що забезпечує вибір операцій. p align="justify"> На початку файлу розташований покажчик на кореневу вершину. Вершина містить два файлових покажчика на праве і ліве піддерево, лічильник кількості об'єктів (int) і статичний масив покажчиків на об'єкти. Структура даних впорядкована (дерево і масив об'єктів). p align="center"> 2. Структурний опис розробки
2.1 Опис структури даних
Структура даних - двійкове дерево. У вершинах зберігається масив покажчиків на об'єкти. Оскільки в завданні не обговорений розмір масиву, візьмемо його рівним 5. Дані в масиві і в дереві впорядковані. Це означає, що значення лівого піддерева менше значень кореня і правого піддерева. Типову схему дерева можна побачити на малюнку 1. br/>В
Малюнок 1. Двійкове дерево
2.2 Структура двійкового файлу. Представлення двійкового дерева у файлі
Робота зі структурою даних відбувається у файлі, а не в оперативній пам'яті. Тому необхідно використовувати файлові покажчики для позиціонування у файлі. Покажчик на вершину буде вказувати на місце у файлі, де зберігаються дані вершини: покажчик на ліве піддерево, покажчик на праве піддерево, лічильник кількості об'єктів в масиві, масив покажчиків на об'єкти (малюнок 2). br/>В
Малюнок 2. Структура вершини у файлі
Для зберігання значення файлового покажчика використовується тип unsigned long, який може зберігати значення в діапазоні від 0 до 232-1. Цих значень цілком достатньо, що б мати можливість позиціонуватися у файлі розміром до 4Гб. Для спрощення використання цього типу при оголошенні змінної можн...