Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие по СиАОД.doc
Скачиваний:
32
Добавлен:
05.11.2018
Размер:
1.25 Mб
Скачать

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

  • Алгоритмы операций АТД реализуются в рекурсивной форме.

  • Схема операции обхода: t → LtRt..

  • Дополнительная операция: поиск для заданного ключа предыдущего по значению ключа в дереве (итерационная форма алгоритма).

  • Алгоритмы операций АТД реализуются в итерационной форме.

  • Схема операции обхода: LttRt.

  • Дополнительная операция: определение длины внешнего пути дерева (рекурсивная форма алгоритма).

  • Алгоритмы операций АТД реализуются в рекурсивной форме.

  • Схема операции обхода: LttRt..

  • Дополнительная операция: вставка элемента в корень дерева (итерационная форма алгоритма).

  • Алгоритмы операций АТД реализуются в итерационной форме.

  • Схема операции обхода: tLtRt.

  • Дополнительная операция: поиск k –го ключа в дереве (рекурсивная форма алгоритма).

  • Алгоритмы операций АТД реализуются в рекурсивной форме.

  • Схема операции обхода: LtRt t.

  • Дополнительная операция: определение длины внутреннего пути дерева (итерационная форма алгоритма).

  • Алгоритмы операций АТД реализуются в итерационной форме.

  • Схема операции обхода: LttRt..

  • Дополнительная операция: удаление узла с заданным ключом на основе метода объединения двух поддеревьев (рекурсивная форма алгоритма).

  • Алгоритмы операций АТД реализуются в рекурсивной форме.

  • Схема операции обхода: Схема операции обхода: tLt Rt.

  • Дополнительная операция: определение критерия сбалансированности для всех узлов дерева (итерационная форма алгоритма).

  • Алгоритмы операций АТД реализуются в итерационной форме.

  • Схема операции обхода: LtRtt.

  • Дополнительная операция: объединение двух BST-деревьев (рекурсивная форма алгоритма).

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

  1. Создание коллекции «BST-дерево» выполняется в соответствии с технологией реализации коллекций, изложенной в разделе 1. Для АТД «BST-дерево» разрабатываются формат АТД и шаблонный класс – контейнер. Для элементов дерева и итератора разрабатываются вспомогательные внутренние классы, определённые в классе дерева.

  2. Для реализации операций АТД, рекомендуется использовать алгоритмы, приведённые в приложении 3.

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

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

  5. Тестирование трудоёмкости операций поиска, вставки и удаления выполняется в соответствии с технологией тестирования, изложенной в разделе 1.4.

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