- •Структуры и алгоритмы обработки данных
- •Содержание
- •Введение
- •1. Линейные структуры данных
- •1.1 Линейный список
- •1.2 Стек
- •1.3 Очереди
- •1.3.1 Универсальная очередь неограниченного размера
- •1.3.2.2 Универсальная очередь ограниченного размера
- •2. Нелинейные структуры данных. Бинарные деревья
- •3. Алгоритмы сортировки данных в оперативной памяти
- •3.1 Сортировка массива простым выбором
- •3.2 Сортировка массива вставками (сортировка Шелла)
- •3.3 Сортировка массива обменом (сортировка Хоора)
- •3.4 Генерация массива числовых данных случайным распределением значений элементов
- •4. Внутренний поиск данных в таблице
- •1. Последовательный поиск.
- •4.1 Последовательный поиск
- •4.2 Логарифмический (бинарный ) поиск
- •4.3 Поиск с использованием перемешанной таблицы (хэш-таблицы)
- •5.Алгоритмы поиска на графе
- •5.1 Поиск кратчайшего пути. Алгоритм Дейкстры
- •Поиск кратчайшего пути. Алгоритм Флойда
- •6. Задания для выполнения лабораторных работ
- •6.1 Задания для выполнения лабораторной работы №1 «Линейные структуры данных» Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •6.2 Задания для выполнения лабораторной работы №2 Нелинейные структуры данных. Бинарные деревья Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •6.3 Задания для выполнения лабораторной работы №3 «Алгоритмы сортировки данных в оперативной памяти» Вариант 1
- •6.4. Задания для выполнения лабораторной работы №4 «Внутренний поиск данных в таблице» Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •6.5 Задания для выполнения лабораторной работы «Алгоритмы поиска на графе».
- •6.5.1 Поиск кратчайшего пути. Алгоритм Дейкстры Вариант 1
- •Вариант 2
- •6.5.2 Поиск кратчайшего пути. Алгоритм Флойда
- •Вариант 15
- •7. Задания для выполнения контрольной работы
- •Заключение
- •Список литературных первоисточников
6.2 Задания для выполнения лабораторной работы №2 Нелинейные структуры данных. Бинарные деревья Вариант 1
Разработать программу, которая содержит текущую информацию о книгах в библиотеке.
Сведения о книгах содержат:
- номер УДК;
- фамилию и инициалы автора;
- название;
- год издания;
- количество экземпляров данной книги в библиотеке.
Программа должна обеспечивать:
- начальное формирование данных о всех книгах в библиотеке в виде двоичного дерева;
- добавление данных о книгах, вновь поступающих в библиотеку;
- удаление данных о списываемых книгах;
По запросу выдаются сведения о наличии книг в библиотеке, упорядоченные по годам издания.
Вариант 2
Разработать программу, которая содержит текущую информацию о заявках на авиабилеты.
Каждая заявка содержит:
- пункт назначения;
- номер рейса;
- фамилию и инициалы пассажира;
- желаемую дату вылета.
Программа должна обеспечивать:
- хранение всех заявок в виде двоичного дерева;
- добавление и удаление заявок;
- по заданному номеру рейса и дате вылета вывод заявок с их последующим удалением;
- вывод всех заявок.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Вариант 3
Англо-русский словарь построен как двоичное дерево.
Каждая компонента содержит английское слово, соответствующее ему русское слово и счетчик количества обращений к данной компоненте.
Первоначально дерево формируется согласно английскому алфавиту. В процессе эксплуатации словаря при каждом обращении к компоненте в счетчик обращений добавляется единица.
Разработать программу, которая:
- обеспечивает начальный ввод словаря с конкретными значениями счетчиков обращений;
- формирует новое представление словаря в виде двоичного дерева по следующему алгоритму:
в старом словаре ищется компонента с наибольшим значением счетчика обращений;
найденная компонента заносится в новый словарь и удаляется из старого;
переход к этапу 1 до исчерпания исходного словаря;
- вывод исходного и нового словарей;
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Вариант 4
На междугородной телефонной станции картотека абонентов, содержащая сведения о телефонах и их владельцах, организована как двоичное дерево.
Разработать программу, которая:
-обеспечивает начальное формирование картотеки в виде двоичного дерева;
- производит вывод всей картотеки;
- вводит номер телефона и время разговора;
- выводит извещение на оплату телефонного разговора.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Вариант 5
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об отправлении поездов дальнего следования.
Для каждого поезда указывается:
-номер поезда;
- станция назначения;
- время отправления.
Данные в информационной системе организованы в виде двоичного дерева.
Разработать программу, которая:
- обеспечивает первоначальный ввод данных в информационную систему и формирование двоичного дерева;
- производит вывод всего дерева;
- вводит номер поезда и выводит все данные об этом поезде;
- вводит название станции назначения и выводит данные о всех поездах, следующих до этой станции.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.