Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лр+Структуры и алгоритмы с АТД.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
463.87 Кб
Скачать

Варианты задания

1. АТД "АВЛ - дерево", как модификация АТД "BST-дерево". Алгоритмы операций АТД реализуются в рекурсивной форме.

2. АТД "АВЛ - дерево", как модификация АТД "BST-дерево". Алгоритмы операций АТД реализуются в нерекурсивной форме.

3. АТД " RB - дерево", как модификация АТД "BST-дерево". Алгоритмы операций АТД реализуются в рекурсивной форме.

4. АТД " RB - дерево", как модификация АТД "BST-дерево". Алгоритмы операций АТД реализуются в нерекурсивной форме.

5. АТД "Рекурсивное 2-3 дерево". Алгоритмы операций АТД реализуются в рекурсивной форме.

6. АТД "Нерекурсивное 2-3 дерево". Алгоритмы операций АТД реализуются в нерекурсивной форме.

7. АТД " Рандомизированное дерево", как модификация АТД "BST-дерево". Алгоритмы операций АТД реализуются в рекурсивной форме.

8. АТД "Рандомизированное дерево", как модификация АТД "BST-дерево". Алгоритмы операций АТД реализуются в нерекурсивной форме.

Методические указания по выполнению задания

1. Для АТД "Сбалансированное двоичное дерево поиска" разрабатываются формат АТД и шаблонный класс - контейнер.

2. Коллекции "Сбалансированное двоичное дерево поиска", использующие рандомизированне дерево, AVL - дерево или RB - дерево, разрабатываются как модификация класса "BST - дерево" с использованием технологии наследования классов. Коллекция на базе 2-3 - дерева разрабатывается, как самостоятельный класс.

3. Для тестирования разработанного класса - контейнера разрабатываются две программы: программа тестирования операций через меню, и программа тестирования трудоёмкости операций поиска, вставки и удаления.

4. Тестирование операций через меню выполняется для небольшого размера дерева (до 20 элементов). Тип данных, хранящихся в нём, задаётся с клавиатуры перед началом тестирования. После выполнения операций необходимо вывести на экран содержимое дерева с помощью операции вывода структуры дерева. При выводе узла дерева необходимо отражать хранящийся в нём ключ поиска и дополнительный параметр, используемый для балансировки узла.

5. Перед тестированием эффективности операций для обеих коллекций задаются тип данных, и размер. Размер деревьев варьируется в пределах от 10 до 100 000 элементов. После тестирования на экран выводятся размер деревьев и средняя трудоёмкость операций поиска, вставки и удаления (среднее число пройденных узлов дерева).

Задание к лабораторной работе

Цели работы: Изучение методов построения таблиц с постоянным временем доступа к элементам. Освоение технологии реализации таблиц на примере АТД "Хеш - таблица".

Задание к лабораторной работе:

1. Спроектировать, реализовать и провести тестовые испытания АТД "Хеш-таблица" для коллекции, содержащей данные произвольного типа. Тип коллекции задаётся клиентской программой. Коллекция проектируется в двух вариантах:

 АТД "Хеш-таблица с цепочками коллизий",

 АТД "Хеш-таблица с открытой адресацией",

Интерфейс АТД "Хеш-таблица" включает следующие операции:

 опрос размера таблицы,

 опрос пустоты таблицы,

 очистка таблицы,

 поиск элемента по ключу,

 вставка элемента по ключу,

 удаление элемента по ключу,

 итератор для доступа к элементам таблицы с операциями:

 1) установка на начало таблицы,

 2) проверка конца таблицы,

 3) доступ к данным текущего элемента таблицы,

 4) переход к следующему элементу таблицы,

Для тестирования коллекций интерфейс АТД "Хеш-таблица" включает дополнительные операции:

 вывод структуры хеш-таблицы на экран,

 опрос числа проб, выполненных операцией.

2. Выполнить отладку и тестирование всех операций АТД "Хеш-таблица с цепочками коллизий" и АТД "Хеш-таблица с открытой адресацией" с помощью меню операций.

3. Получить экспериментальную оценку качества хеш-функции 2, усреднённую по нескольким экспериментам.

4. Выполнить сравнительное тестирование средней трудоёмкости операций поиска, вставки и удаления для коллекций "Хеш-таблица с цепочками коллизий", и "Хеш-таблица с открытой адресацией" в зависимости от коэффициента заполнения?

5. Провести сравнительный анализ теоретических и экспериментальных показателей трудоёмкости операций.

6. Составить отчёт по лабораторной работе. Отчёт должен содержать следующие пункты:

 1) титульный лист,

 2) цель лабораторной работы,

 3) общее задание (пункты 1 - 5) и вариант задания,

 4) формат АТД,

 5) определение шаблонного класса для коллекции "Хеш-таблица", предназначенное для клиентской программы,

 6) описание методики получения экспериментальной оценки 2 и полученная оценка 2, усреднённая по нескольким экспериментам.

 7) описание методики тестирования трудоёмкости операций,

 8) таблицы и графики с полученными оценками трудоёмкости операций. Должны быть приведены графики трудоёмкости для операций поиска, вставки и удаления для АТД "Хеш-таблица с цепочками коллизий" и АТД "Хеш-таблица с открытой адресацией" (графики обеих коллекций совмещены в одной системе координат),

 9) сравнительный анализ теоретических и экспериментальных оценок эффективности операций АТД,

 10) выводы,

 11) список использованной литературы,

 12) приложение с текстами программ:

 полное определение классов и текстов методов класса,

 текст программы получения оценки 2,

 текст программы тестирования трудоёмкости операций АТД.