engineerklub | Дата: Пятница, 13.03.2020, 15:55 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28596
Статус: Offline
| Структуры и алгоритмы обработки данных (часть 1). Для всех вариантов
Лабораторные работы №1,2,3,4,5 ип работы: Работа Лабораторная Форматы файлов: Исполняемые фалы (EXE), Microsoft Word, C++ Сдано в учебном заведении: СибГУТИ
Описание: Лабораторная работа 1. Методы сортировки массивов с квадратичной трудоемкостью. Цель работы: Освоить методы сортировки массивов с квадратичной трудоемкостью. Порядок выполнения работы: 1. Разработать подпрограммы сортировки массива целых чисел методами прямого выбора, методом пузырьковой сортировки и методом шейкерной сортировки. 2. Правильность сортировки проверить путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы). Серией называется неубывающая последовательность элементов массива максимальной длины. Пример: в массиве 23145314 (23 145 3 14) содержится 4 серии 3. Составить таблицу следующего вида (данные получить экспериментально) для n=100, 200, 300, 400, 500. (n – количество элементов в массиве) 4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 2. Быстрые методы сортировки массивов. Цель работы: Освоить быстрые методы сортировки массивов Порядок выполнения работы: 1. Разработать подпрограммы сортировки массива целых чисел методом Шелла и методом пирамидальной сортировки (или методом Хоара). Проверить правильность сортировки. 2. Исследовать трудоемкость метода Шелла для n=10, 100, …, 500, n – количество элементов в массиве. Определить последовательность шагов для предварительных сортировок по формуле Кнута. Построить таблицу и проанализировать полученные результаты: 3. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве) 4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости.
Лабораторная работа 3. Быстрые методы сортировки последовательностей. Цель работы: Освоить быстрые методы сортировки последовательностей Порядок выполнения работы: 1. Разработать подпрограммы сортировки последовательности целых чисел методом прямого слияния (или методом цифровой сортировки). 2. Разработать сервисные функции для работы со списками: заполнение списка (стека) возрастающими числами; заполнение списка (стека) убывающими числами; заполнение списка (стека) случайными числами; печать элементов списка; подсчет контрольной суммы элементов списка; подсчет количества серий в списке. 3. Составить таблицу следующего вида (данные получить экспериментально) для n= 100, 200, 300, 400, 500. (n – количество элементов в массиве) 4. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости. Сравнить полученные результаты с трудоемкостью метода прямого выбора и метода пирамидальной сортировки (использовать результаты предыдущих лабораторных работ).
Лабораторная работа 4. Индексация и быстрый поиск. Цель работы:Изучение методов построения индексных массивов и быстрого поиска с использованием индексации. Порядок выполнения работы: 1. Написать программу «Телефонный справочник», которая обрабатывает данные об абонентах телефонной станции. Каждый абонент имеет имя, адрес, телефонный номер. В программе описать массив абонентов (назовем его справочник). В справочнике должно быть не менее 10 элементов, которые заполняются либо программно, либо считываются из файла. 2. Разработать подпрограмму создания в памяти компьютера индексного массива для упорядочивания справочника (воспользоваться любым методом сортировки, кроме пузырькового). Применить разработанную подпрограмму для создания индексных массивов упорядочивания (в прямом порядке) справочника по имени, адресу и номеру телефона абонента. Вывести на экран исходный массив абонентов и содержимое построенных индексных массивов. 3. Разработать подпрограмму вывода на экран упорядоченного справочника. Применить разработанную подпрограмму для вывода на экран справочника, упорядоченного по возрастанию имени абонента, адреса абонента и номера телефона абонента. 4. Разработать подпрограмму поиска в справочнике с использованием индексного массива. Применить разработанную подпрограмму для поиска абонента по имени, адресу и номеру телефона. Ключ для поиска вводить с клавиатуры.
Комментарии: Уважаемый студент, дистанционного обучения, Оценена Ваша работа по предмету: Структуры и алгоритмы обработки данных (часть 1) Вид работы: Лабораторная работа 1-5 Оценка:Зачет Дата оценки: 29.04.2017
СКАЧАТЬ
|
|
| |
engineerklub | Дата: Пятница, 13.03.2020, 15:56 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 28596
Статус: Offline
| Лабораторная работа 5. Хэширование и поиск. Цель работы:Изучение возможности хэширования данных для организации поиска. Порядок выполнения работы: 1. Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хэш-таблице элемента по заданному ключу. Вывести на экран построенную хэш-таблицу. 2. Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполненные хеш-таблицы для m=11 в виде 3. Подсчитать и сравнить количество коллизий при линейных и квадратичных пробах. Построить таблицу и проанализировать полученные результаты: 4. Организовать поиск элемента с заданным ключом для метода открытой адресации (линейные и квадратичные пробы).
СКАЧАТЬ
|
|
| |