- •Структуры и алгоритмы обработки данных
- •Содержание
- •Введение
- •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
Гаражная стоянка имеет одну стояночную полосу, причем въезд и выезд находятся в одном конце полосы. Если владелец автомашины приходит забрать свой автомобиль, который не является ближайшим к выходу, то все автомашины, загораживающие проезд, удаляются, машина данного владельца выводится со стоянки, а другие машины возвращаются на стоянку в исходном порядке.
Разработать программу, которая моделирует процесс прибытия и отъезда машин. Прибытие или отъезд автомашины задается командной строкой, которая содержит признак прибытия или отъезда и номер автомашины. Программа должна выводить сообщение при прибытии или выезде любой автомашины. При выезде автомашины со стоянки сообщение должно содержать число раз, которое машина удалялась со стоянки для обеспечения выезда других автомобилей.
Вариант 7
Разработать программу, моделирующую заполнение гибкого магнитного диска.
Общий объем памяти на диске 360 Кбайт. Файлы имеют произвольную длину от 18 Кбайт до 32 Кбайт. В процессе работы файлы либо записываются на диск, либо удаляются с него.
В начале работы файлы записываются подряд друг за другом. После удаления файла на диске образуется свободный участок памяти, и вновь записываемый файл либо размещается на свободном участке, либо, если файл не вмещается в свободный участок, размещается после последнего записанного файла.
В случае, когда файл превосходит длину самого большого свободного участка, выдается аварийное сообщение. Требование на запись или удаление файла задается в командной строке, которая содержит имя файла, его длину в байтах, признак записи или удаления. Программа должна выдавать по запросу сведения о занятых и свободных участках памяти на диске.
Необходимо создать список занятых участков и список свободных участков на диске.
Вариант 8
В файловой системе каталог файлов организован как линейный список.
Для каждого файла в каталоге содержатся следующие сведения:
- имя файла:
- дата создания;
- количество обращений к файлу;
Разработать программу, которая обеспечивает:
начальное формирование каталога файлов;
вывод каталога файлов;
удаление файлов, дата создания которых меньше заданной;
выборку файлов с наибольшим количеством обращений.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Вариант 9
Предметный указатель организован как линейный список.
Каждая компонента указателя содержит слово и номера страниц, на которых это слово встречается. Количество номеров страниц, относящихся к одному слову, от одного до десяти.
Разработать программу, которая обеспечивает:
- начальное формирование предметного указателя;
- вывод предметного указателя;
- вывод номера страниц для заданного слова.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.
Вариант 10
Текст помощи для программы организован как линейный список.
Каждая компонента текста помощи содержит термин (слово) и текст, содержащий пояснения к этому термину. Количество строк текста, относящихся к одному термину, от одной до пяти.
Разработать программу, которая обеспечивает:
- начальное формирование теста помощи;
- вывод текста помощи;
- вывод поясняющего текста для заданного термина.
Программа должна обеспечивать диалог с помощью меню и контроль ошибок при вводе.