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