Главная страница
Навигация по странице:

  • 2.2. Лабораторная работа №2 «Программирование алгоритмов реализации и обработки древовидныхструктур специального вида»

  • 2.3. Лабораторная работа №3 «Программирование алгоритмов реализации и обработки графов»

  • 4. Библиографический список

  • Нелинейные структуры данных

  • Теоретические положения Деревья. Основные понятия


    Скачать 452 Kb.
    НазваниеТеоретические положения Деревья. Основные понятия
    Дата02.10.2018
    Размер452 Kb.
    Формат файлаdoc
    Имя файлаЗадания Рє лабораторным.doc
    ТипДокументы
    #52263
    страница3 из 3
    1   2   3

    Задание

    Осуществить программную реализацию одного из деревьев, выбранных из табл. 1 приложения, в соответствии с заданным номером варианта. Программой должны выполняться функции (п. 1.1) по работе с деревом. Следует предусмотреть удобный пользовательский интерфейс, позволяющий создавать дерево и осуществлять его обработку. По результатам работы программы необходимо оценить зависимость среднего времени операции произвольного доступа к элементу от размера дерева (количества уровней и количества узлов). В программе следует предусмотреть генерацию дерева заданной степени, предоставляя пользователю возможность указывать среднюю степень узла и дисперсию. Например, если для некоторого дерева среднее равно шести, а дисперсия – двум, то в среднем по дереву у каждого узла будет примерно от 4 до 8 потомков (необходимо учитывать также максимальную степень дерева). Для генерации количества узлов следует использовать закон распределения, указанный в табл. 1 для выбранного варианта задания. К сгенерированному дереву должны быть применимы все реализованные функции. Помимо перечисленных в п. 1.1, обязательными являются функции просмотра дерева, просмотра последовательностей обхода дерева. Можно реализовать иные дополнительные функции.
    Контрольные вопросы

          1. Деревья – основные понятия, способы обхода.

          2. Функции, выполняемые над деревьями.

          3. Представление деревьев с помощью массива.

          4. Представление деревьев посредством списков дочерних узлов.

          5. Представление деревьев с помощью указателей.


    2.2. Лабораторная работа №2

    «Программирование алгоритмов реализации и обработки древовидных
    структур специального вида»

    Цель работы

    Получение навыков создания и обработки АВЛ- и B-деревьев, анализ эффективности работы с ними.

    Задание

    Осуществить программную реализацию АВЛ- или B-дерева заданного порядка, с указанным типом ключа, выбрав из табл. 2 приложения соответствующие номеру варианта исходные параметры.

    Программа должна предоставлять удобный пользовательский интерфейс, позволяющий создавать дерево (формировать пользователем или генерировать автоматически) и осуществлять предусмотренные виды его обработки.

    Набор функций, необходимых для работы с деревом, должен включать, как минимум: генерацию дерева, поиск с включением узла, удаление узла, удаление дерева. С помощью статистического анализа необходимо определить формы зависимостей скоростей работы алгоритмов построения, поиска и включения, удаления и (или) перестраивания от размера дерева и построить соответствующие графики.

    Контрольные вопросы

    1. АВЛ-деревья.

    2. Поиск с включением в АВЛ-дерево, исключение из АВЛ-дерева.

    1. В-деревья.

    2. Включение в В-дерево, исключение из В-дерева.

    3. Статистический анализ скоростей выполнения операций вставки/удаления в АВЛ-, В-деревья.


    2.3. Лабораторная работа №3

    «Программирование алгоритмов реализации и обработки графов»
    Цель работы

    Получение навыков реализации алгоритмов обхода графов и построения минимальных остовных деревьев.

    Задание

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

    Контрольные вопросы

    1. Определение графа.

    2. Алгоритмы обхода графа в глубину и по уровням.

    4. Алгоритм Дейкстры-Прима построения МОД.

    5. Алгоритм Крускала построения МОД.

    3. Содержание отчета

    1. Титульный лист.

    1. Задание кафедры, соответствующее варианту, номер варианта.

    2. Цель работы.

    3. Алгоритм.

    4. Листинг программы с необходимыми комментариями.

    5. Результаты выполнения.

    6. Выводы.

    Отчет может также включать краткие теоретические сведения.



    4. Библиографический список


    1. Ахо, А. В. Структуры данных и алгоритмы / А. В. Ахо, Дж. Хопкрофт, Дж. Д. Ульман. – М.: "Вильямс", 2000. – 384 с.

    2. Кондратьева, С. Д. Введение в структуры данных / С. Д. Кондратьева. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2000. – 376 с.

    3. Вирт, Н. Алгоритмы и структуры данных / Н. Вирт. ­– М.: Мир, 1989. – 360 с.

    4. Макконнелл, Дж. Основы современных алгоритмов / Дж. Макконнелл. – М.: Техносфера, 2004. – 368 с.

    5. Кнут, Д. Э. Искусство программирования, том 3. Сортировка и поиск / Д. Э. Кнут. – М.: "Вильямс", 2000. – 832 с.

    Приложение

    Таблица 1

    Задания к лабораторной работе №1

    № варианта

    Ключ

    Удаляемый узел

    Распределение


    Реализация

    Степень дерева

    Метод
    обхода

    int

    char[]

    заменяется самым левым дочерним узлом

    заменяется самым правым дочерним узлом

    равномерное

    нормальное

    связный список дочерних узлов

    список дочерних узлов, два массива

    список дочерних узлов, массив структур, 3 поля

    указатели

    4

    5

    6

    7

    прямой

    обратный

    симметричный

    1

    +




    +




    +




    +










    +










    +







    2




    +

    +




    +




    +










    +













    +




    3

    +







    +

    +




    +










    +
















    +

    4




    +




    +

    +




    +










    +










    +







    5

    +




    +




    +







    +







    +













    +




    6




    +

    +




    +







    +







    +
















    +

    7

    +







    +

    +







    +







    +










    +







    8




    +




    +

    +







    +







    +













    +




    9

    +




    +




    +










    +




    +
















    +

    10




    +

    +




    +










    +




    +










    +







    11

    +







    +




    +







    +




    +













    +




    12




    +




    +




    +







    +




    +
















    +

    13

    +




    +







    +










    +

    +










    +







    14




    +

    +







    +










    +

    +













    +




    15

    +







    +




    +










    +

    +
















    +

    16




    +




    +




    +










    +

    +










    +







    17

    +




    +







    +

    +













    +










    +




    18




    +

    +







    +

    +













    +













    +

    19

    +







    +




    +

    +













    +







    +







    20




    +




    +




    +

    +













    +










    +




    21

    +




    +




    +







    +










    +













    +

    22




    +

    +




    +







    +










    +







    +







    23

    +







    +

    +







    +










    +










    +




    24




    +




    +

    +







    +










    +













    +

    25

    +




    +




    +










    +







    +







    +







    26




    +

    +




    +










    +







    +










    +




    27

    +







    +

    +










    +







    +













    +

    28




    +




    +

    +










    +







    +







    +







    29

    +




    +




    +













    +




    +










    +




    30




    +

    +




    +













    +




    +













    +

    31

    +







    +




    +










    +




    +







    +







    32




    +




    +




    +










    +




    +










    +




    33

    +




    +







    +

    +
















    +










    +

    34




    +

    +







    +

    +
















    +




    +







    35

    +







    +




    +

    +
















    +







    +




    36




    +




    +




    +

    +
















    +










    +

    37

    +




    +







    +




    +













    +




    +







    Таблица 2

    Задания к лабораторной работе №2



    ключ

    Вид дерева

    int

    char

    float

    int[]

    char[]

    float[]

    АВЛ, реализация

    В, порядок

    1

    +
















    +, указатели




    2




    +













    +, указатели




    3







    +










    +, указатели




    4










    +







    +, указатели




    5













    +




    +, указатели




    6
















    +

    +, указатели




    7













    +







    +, 3

    8




    +
















    +, 4

    9







    +













    +, 8

    10










    +










    +, 6

    11
















    +




    +, 7

    12

    +



















    +, 9

    13
















    +

    +, массив




    14




    +
















    +, 6

    15










    +










    +, 4

    16

    +
















    +, массив




    17







    +













    +, 5

    18













    +




    +, массив




    19










    +







    +, массив




    20

    +



















    +, 4

    21




    +
















    +, 7

    22







    +













    +, 3

    23




    +













    +, массив




    24







    +










    +, массив




    25










    +










    +, 5

    26













    +







    +, 9

    27
















    +




    +, 4

    28

    +
















    +, связный список дочерних узлов




    29




    +













    +, связный список дочерних узлов




    30







    +










    +, связный список дочерних узлов




    31










    +







    +, связный список дочерних узлов




    32













    +




    +, связный список дочерних узлов




    33
















    +

    +, связный список дочерних узлов




    34

    +



















    +, 8

    35







    +













    +, 10

    36










    +







    +, список дочерних узлов, два массива




    37













    +




    +, список дочерних узлов, два массива





    Таблица 3

    Задания к лабораторной работе №3



    Алгоритм

    Граф

    Степень графа

    обхода в глубину

    обхода по уровням

    построения МОД Дейкстры-Прима

    построения МОД Крускала

    ориентированный

    неориен-тированный

    4

    5

    6

    7

    1

    +










    +




    +










    2




    +







    +




    +










    3







    +




    +




    +










    4










    +

    +




    +










    5

    +













    +

    +










    6




    +










    +

    +










    7







    +







    +

    +










    8










    +




    +

    +










    9

    +










    +







    +







    10




    +







    +







    +







    11







    +




    +







    +







    12










    +

    +







    +







    13

    +













    +




    +







    14




    +










    +




    +







    15







    +







    +




    +







    16










    +




    +




    +







    17

    +










    +










    +




    18




    +







    +










    +




    19







    +




    +










    +




    20










    +

    +










    +




    21

    +













    +







    +




    22




    +










    +







    +




    23







    +







    +







    +




    24










    +




    +







    +




    25

    +










    +













    +

    26




    +







    +













    +

    27







    +




    +













    +

    28










    +

    +













    +

    Нелинейные структуры данных

    Методические указания для студентов к лабораторным работам по курсу
    «Структуры и алгоритмы компьютерной обработки данных»

    Составитель: Журавлева Марина Гарриевна

    Редактор: Федюшина Е. А.

    Подписано в печать Формат 60х84 1/16. Бумага офсетная. Ризография. Печ.л. 1,5. Тираж 100 экз. Заказ N . Липецкий государственный технический университет. 398600 Липецк, ул. Московская, 30.

    Типография ЛГТУ. 398600 Липецк, ул. Московская, 30.



    1   2   3


    написать администратору сайта