Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания к лабораторным.doc
Скачиваний:
49
Добавлен:
20.06.2014
Размер:
462.85 Кб
Скачать

2. Задания к лабораторному практикуму

2.1. Лабораторная работа №1

«Программирование алгоритмов реализации и обработки древовидных структур неспециального вида»

Цель работы

Получение навыков реализации и использования деревьев неспециального вида, анализ эффективности работы с ними.

Задание

Осуществить программную реализацию одного из деревьев, выбранных из табл. 1 приложения, в соответствии с заданным номером варианта. Программой должны выполняться функции (п. 1.1) по работе с деревом. Следует предусмотреть удобный пользовательский интерфейс, позволяющий создавать дерево и осуществлять его обработку. По результатам работы программы необходимо оценить зависимость среднего времени операции произвольного доступа к элементу от размера дерева (количества уровней и количества узлов). В программе следует предусмотреть генерацию дерева заданной степени, предоставляя пользователю возможность указывать среднюю степень узла и дисперсию. Например, если для некоторого дерева среднее равно шести, а дисперсия – двум, то в среднем по дереву у каждого узла будет примерно от 4 до 8 потомков (необходимо учитывать также максимальную степень дерева). Для генерации количества узлов следует использовать закон распределения, указанный в табл. 1 для выбранного варианта задания. К сгенерированному дереву должны быть применимы все реализованные функции. Помимо перечисленных в п. 1.1, обязательными являются функции просмотра дерева, просмотра последовательностей обхода дерева. Можно реализовать иные дополнительные функции.

Контрольные вопросы

        1. Деревья – основные понятия, способы обхода.

        2. Функции, выполняемые над деревьями.

        3. Представление деревьев с помощью массива.

        4. Представление деревьев посредством списков дочерних узлов.

        5. Представление деревьев с помощью указателей.

2.2. Лабораторная работа №2

«Программирование алгоритмов реализации и обработки древовидных структур специального вида»

Цель работы

Получение навыков создания и обработки АВЛ- и B-деревьев, анализ эффективности работы с ними.

Задание

Осуществить программную реализацию АВЛ- или B-дерева заданного порядка, с указанным типом ключа, выбрав из табл. 2 приложения соответствующие номеру варианта исходные параметры.

Программа должна предоставлять удобный пользовательский интерфейс, позволяющий создавать дерево (формировать пользователем или генерировать автоматически) и осуществлять предусмотренные виды его обработки.

Набор функций, необходимых для работы с деревом, должен включать, как минимум: генерацию дерева, поиск с включением узла, удаление узла, удаление дерева. С помощью статистического анализа необходимо определить формы зависимостей скоростей работы алгоритмов построения, поиска и включения, удаления и (или) перестраивания от размера дерева и построить соответствующие графики.

Контрольные вопросы

1. АВЛ-деревья.

2. Поиск с включением в АВЛ-дерево, исключение из АВЛ-дерева.

  1. В-деревья.

  2. Включение в В-дерево, исключение из В-дерева.

  3. Статистический анализ скоростей выполнения операций вставки/удаления в АВЛ-, В-деревья.