Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

САОД / САОД1 / Лабораторная работа 4

.doc
Скачиваний:
11
Добавлен:
26.04.2015
Размер:
31.23 Кб
Скачать

Лабораторная работа № 4

Сбалансированные бинарные деревья

Цель работы

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

Методические указания

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

При выполнении индивидуального задания придерживаться следующей последовательности действий:

  1. изучить словесную постановку задачи;

  2. разработать программу, решающую поставленную задачу;

  3. отладить и оттестировать программу;

  4. написать и представить к защите отчет по работе.

Содержание отчета

  1. Титульный лист.

  2. Словесная постановка задачи.

    1. Описание алгоритма поиска

    2. Описание алгоритма добавления элемента в дерево

    3. Описание алгоритма удаления элемента из дерева

    4. Пример на малое левое вращение (однократный левый поворот)

    5. Пример на малое правое вращение (однократный правый поворот)

    6. Пример на большое левое вращение (двукратный левый поворот)

    7. Пример на большое правое вращение (двукратный правый поворот)

  1. Алгоритм решения задачи в текстуальном виде

  2. Контрольный тест.

  3. Листинг программы.

  4. Ответы на контрольные вопросы по согласованию с преподавателем.

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

  1. Что такое дерево, двоичное дерево, поддерево?

  2. Что такое корень дерева, лист дерева, высота поддерева, высота дерева?

  3. Приведите рекурсивное определение дерева, определение упорядоченного дерева.

  4. Какое дерево называется полным?

  5. Как надо изменить процедуру добавления элемента в дерево, чтобы она корректно работала в случае, если вершина в дереве уже есть?

  6. Приведите определение идеально сбалансированного дерева и дерева, сбалансированного по АВЛ.

Варианты индивидуальных заданий

В этой лабораторной работе задание общее для всех –

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