Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Деревья, как динамические структуры данных
Цель работы: изучение организации древовидных структур данных ,как динамических списковых структур ,и алгоритмов построения , поиска и исключения элементов для бинарных деревьев различной структуры и сильноветвящихся В-деревьев .
Домашнее задание:
1. Изучить организацию двоичного дерева , как динамической структуры данных. 2. Освоить алгоритмы поиска и включения в идеально сбалансированное двоичное дерево и стандартные алгоритмы обхода таких деревьев. 3. Изучить организацию и алгоритмы поиска и включения элемента в сбалансированное АVL-дерево ;стандартные повороты для балансировки АVL-деревьев , алгоритм исключения элемента из АVL-дерева. 4. Изучить организацию недвоичного сильноветвящегося В-дерева и алгоритмы построения с поиском и включением элемента ; реорганизацию В-дерева при расщеплении страниц : алгоритм исключения элемента из В-дерева .
Порядок выполнения работы 1. Открыть проект Delphi - Struct. 2. На главной форме (Main Form) установить компонент, управляющий всем проектом – главное меню, и назвать первый пункт «Лаб. раб. №1» . Организовать вертикальную составляющую к этому пункту «Задача 1». 3. Добавить к проекту модуль с формой TreeStruct, которая должна появляться на экране при выборе пункта меню «Задача 1». Убедитесь в том, что ваша управляющая конструкция в проекте работает. 4. Установить на форму модуля TreeStruct компоненты, обеспечивающие ввод исходных данных, управляющую командную кнопку, и компоненты для вывода результатов на экране – для реализации программного приложения в соответствии с вариантом задания таблицы 1.1. Для отображения организованной вами древовидной структуры используйте визуальный компонент библиотеки VCL - TreeView ,расположенный на странице Win32 указанной библиотеки . 5. В обработчике события onClick командной кнопки на языке Object Pascal написать фрагмент программы для ввода исходных данных, обработки их по алгоритму , соответствующему варианту вашего задания (таблица 1.1) и вывода результатов в соответствующий объект (TreeView) на форму модуля TreeStruct. Отладить программу и продемонстрировать результаты преподавателю. 6. Составить отчет , в котором должно быть: a. а) текст задания; b. б)распечатка текста модуля TreeView; c. в)отображение формы с результатами работы модуля; d. г)блок-схема алгоритма работы модуля. 7. Защитить работу преподавателю.
Таблица 6.1
Контрольные вопросы
1. Определение дерева, как динамической структуры данных. 2. Бинарное дерево, описание структуры узла в таком дереве. 3. Правило идеально сбалансированного двоичного дерева. 4. Три стандартных обхода деревьев( примеры). 5. Правило сбалансированности для AVL-дерева. 6. Стандартные повороты, используемые для балансировки AVL-дерева. 7. Что такое сильноветвящееся дерево и каково правило его роста? 8. Что такое порядок В-дерева? 9. Когда происходит расщепление страницы в В-дереве и на что это влияет?
Лабораторная работа № 7 (4 часа)
Алгоритмы метода перебора Цель работы: Изучение алгоритмов метода поиска с возвратами на примерах реализации шахматных задач и задачи динамического программирования. Освоение "жадных" алгоритмов- точного и приближенного.
Домашнее задание: 1 Изучить алгоритм метода поиска с возвратами. 2 Изучить алгоритм нахождения критического пути в задаче динамического программирования. 3 Освоить принципы построения "жадных" алгоритмов.
Порядок выполнения работы.
1. Открыть проект Delphi Structures. 2. Добавить в управляющее главное меню пункт «Лабораторная работа №7», при выборе которого должно появляться окно модуля «Poisk_with_back» (модуль Poisk_with_back» с формой добавить в проект). 3. Установить на форму модуля Poisk_with_back компоненты, обеспечивающие ввод исходных данных, управляющую кнопку (класса TButton или TBitBtn) и компоненты для вывода результатов на экране в соответствии с вариантом задания таблицы №2.1. 4. В обработчике события onClick управляющей кнопки на языке 5. Object Pascal написать фрагмент программы для реализации алгоритма в соответствии с вариантом. 6. Отладить обработчик на тестовых примерах и продемонстрировать работу приложения преподавателю. 7. произвести анализ запрограммированного алгоритма (по количеству сравнений ). 8. Составить отчет и защитить работу преподавателю. В отчете обязательно представить блок-схему алгоритма решения задачи.
Таблица 7.1
Контрольные вопросы
1. Суть алгоритма метода поиска с возвратами.(МПВ). 2. Что такое 'тупик' в МПВ и как выйти из тупиковой ситуации в этом алгоритме? 3. Почему стек является непременным аксессуаром в алгоритме МПВ? 4. Сформулируйте задачу динамического программирования. 5. Опишите модель задачи динамического программирования. 6. Дайте понятие критического пути. 7. Что такое топологический порядок выбора узлов? 8. Каков механизм нахождения критического пути, если найдено время окончания работ(строительства)?
Лабораторная работа № 8 |
||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2018-05-10; просмотров: 250. stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |