Программа работы
1. Создать новый проект в меню FileðNewðVCL Forms Application, добавить к нему новый модуль (FileðNewðUnit) и сохранить все файлы в папке с именем ‘…\Лабораторная работа № 4’.
2. В заголовочной части второго модуля объявить класс THeap и все его методы в соответствии с ADT – форматом.
3. Создать на форме компоненты Edit1 ¸ EditN и кнопку Button1. В компонентах Edit1 ¸ EditN-1 представить буквы Вашей фамилии в виде бинарного дерева.
Рис. 8. Примерное расположение компонентов на форме
4. В обработчике нажатия кнопки Button1 сформировать массив из букв вашей фамилии, хранящихся в компонентах Edit1 ¸ EditN-1 с типом сhar, создать объект пирамиды и отсортировать все элементы массива, используя метод пирамедальной сортировки. Вывести результат сортировки массива в компонент EditN.
5. Запустить программу на выполнение и записать в отчет класс THeap и все его методы, расположение компонентов на форме, обработчик нажатия кнопки Button1 и полученные результаты работы программы.
6. Ответить на контрольный вопрос, записав в отчет разработанный метод, обработчик его использования и результат выполнения программы.
Контрольные вопросы
- Записать ADT – формат и объявление класса TTreeNode.
- Записать реализацию метода AddChild класса TTreeNode и объяснить его работу.
- Записать реализацию метода InsertChild класса TTreeNode и объяснить его работу.
- Записать реализацию метода DeleteChild класса TTreeNode и объяснить его работу.
- Записать ADT – формат и объявление класса TTree.
- Записать реализацию метода Add класса TTree и объяснить его работу.
- Записать реализацию метода Insert класса TTree и объяснить его работу.
- Записать реализацию метода Delete класса TTree и объяснить его работу.
- Записать реализацию метода AddChild класса TTree и объяснить его работу.
- Записать реализацию метода InsertChild класса TTree и объяснить его работу.
- Записать реализацию метода DeleteChild класса TTree и объяснить его работу.
- Представить строку ‘Программирование’ в виде бинарного дерева и записать результат его прохода всеми четырьмя способами.
- Записать и протестировать в программе оператор равно для класса TTree.
- Записать и протестировать в программе оператор не равно для класса TTree.
- Записать и протестировать в программе метод нахождения количества узлов дерева.
- Записать и протестировать в программе метод нахождения глубины дерева.
- Записать и протестировать в программе метод нахождения плотности дерева.
- Записать и протестировать в программе не рекурсивный метод прямого прохождения дерева.
- Записать и протестировать в программе не рекурсивный метод обратного прохождения дерева.
- Записать и протестировать в программе не рекурсивный метод симметричного прохождения дерева.
- Записать и протестировать в программе метод поиска узла с заданными данных, объяснив преимущества использования для этого деревьев.
- Определить глубину и плотность следующих деревьев: