Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
структуры и алгоритмы / Курсовая_структ.doc
Скачиваний:
45
Добавлен:
04.06.2015
Размер:
203.26 Кб
Скачать

Тема 16: Основные операции с двоичными деревьями (1)

1. Построить бинарное дерево следующего выражения (6*3) + (8* 7)*• (6*5) и вывести его на экран. Написать процедуры постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения.

2. Построить бинарное дерево следующего выражения ((((5*2) +3)*• 4) +5)*6 и вывести его на экран. Написать процедуры постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения.

3. Построить бинарное дерево следующего выражения 9+(8* (7+(6* (5+(4*3))))) и вывести его на экран. Написать процедуры постфиксного, инфиксного и префиксного обхода дерева и вывести соответствующие выражения.

4. Построить двоичное дерево из целых чисел и написать следующие процедуры:

  1. вывод элементов дерева снизу вверх;

  2. все отрицательные элементы дерева заменить нулем.

5. Построить двоичное дерево из букв латинского алфави­та и написать следующие процедуры:

  1. вывод элементов дерева слева направо;

  2. удаление из дерева гласных букв.

6. Написать программу-словарь, позволяющую пользователю проверять правильность написания слов. Реализация программы должна обеспечить представление словаря в виде дерева двоичного поиска, словарь хранится в виде текстового файла. При каждом выполнении программы словарь может быть модифицирован, если пользователь решил добавить в него слова. Программа должна обеспечивать диалоговое взаимодействие с пользователем.

7. Создать управляющую программу с эффектным интерфейсом.

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

Тема 17: Сбалансированные деревья (1).

1. Включение элементов в дерево с сохранением сбалансированности (с иллюстрацией на экране).

2. Исключение элементов из дерева с сохранением сбалансированности (с иллюстрацией на экране).

3.. В файловой системе каталог файлов организован в виде сбалансированного бинарного дерева. Каждый узел обознача­ет файл, содержащий имя и атрибуты файла, в том числе и дату последнего обращения к файлу. Написать программу, которая обходит дерево и удаляет все файлы, последнее обращение к которым происходило до определенной даты, при этом сбалансированность бинарного дерева сохраняется.

4. Сравните сложность алгоритмов включения и удаления узлов для бинарных деревьев и АВЛ-сбалансированных деревьев.

5. Написать программу, которая выводит на экран сбалансированное дерево с 12 узлами, имеющее максимальную высоту среди всех сбалансированных деревьев с 12 узлами. В какой последовательности нужно включать узлы, чтобы получить такое дерево?

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

7. Написать процедуру построения сбалансированного дерева, в узлах которого расположены целые числа в диапазоне 1..20. Удалить из дерева все четные числа с сохранением сбалансированности дерева?

8. Построить сбалансированное дерево из целых чисел и вывести его на экран снизу вверх. Написать процедуру удале­ния элементов из дерева с сохранением сбалансированности дерева. Найти дерево и короткую последовательность удалений, вызывающую появление всех четырех ситуаций балансировки хотя бы по одному разу.

9. Создать управляющую программу с эффектным интерфейсом;

10. Подготовить контрольный пример, демонстрирующий работу созданного программного комплекса.

Соседние файлы в папке структуры и алгоритмы