engineerklub | Дата: Суббота, 31.08.2019, 09:00 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28596
Статус: Offline
| Структуры и алгоритмы обработки данных (часть 1). Вариант общий
Тип работы: Работа Лабораторная Форматы файлов: 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. Проанализировать полученные результаты, сравнить их с теоретическими оценками трудоемкости. Сравнить полученные результаты с трудоемкостью метода прямого выбора и метода пирамидальной сортировки (использовать результаты предыдущих лабораторных работ). Описание основных подпрограмм Результаты работы программы
СКАЧАТЬ МОЖНО ЗДЕСЬ
|
|
| |
engineerklub | Дата: Суббота, 31.08.2019, 09:00 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 28596
Статус: Offline
| Лабораторная работа №4 Индексация и быстрый поиск Цель работы: Изучение методов построения индексных массивов и быстрого поиска с использованием индексации. Порядок выполнения работы: 1. Написать программу «Телефонный справочник», которая обрабатывает данные об абонентах телефонной станции. Каждый абонент имеет имя, адрес, телефонный номер. В программе описать массив абонентов (назовем его справочник). В справочнике должно быть не менее 10 элементов, которые заполняются либо программно, либо считываются из файла. 2. Разработать подпрограмму создания в памяти компьютера индексного массива для упорядочивания справочника (воспользоваться любым методом сортировки кроме пузырькового). Применить разработанную подпрограмму для создания индексных массивов упорядочивания (в прямом порядке) справочника по имени, адресу и номеру телефона абонента. Вывести на экран исходный массив абонентов и содержимое построенных индексных массивов. 3. Разработать подпрограмму вывода на экран упорядоченного справочника. Применить разработанную подпрограмму для вывода на экран справочника, упорядоченного по возрастанию имени абонента, адреса абонента и номера телефона абонента. 4. Разработать подпрограмму поиска в справочнике с использованием индексного массива. Применить разработанную подпрограмму для поиска абонента по имени, адресу и номеру телефона. Ключ для поиска вводить с клавиатуры. Описание основных подпрограмм Результаты работы программы
Лабораторная работа №5 Хэширование и поиск Цель работы: Изучение возможности хеширования данных для организации поиска. Порядок выполнения работы: 1. Разработать подпрограмму хеширования массива целых чисел методом прямого связывания и подпрограмму поиска в хеш-таблице элемента по заданному ключу. Вывести на экран построенную хеш-таблицу. 2. Реализовать подпрограмму хеширования массива целых чисел методом открытой адресации. Для разрешения коллизий использовать линейные и квадратичные пробы. Вывести на экран заполненные хеш-таблицы для m=11 в виде 3. Подсчитать и сравнить количество коллизий при линейных и квадратичных пробах. Построить таблицу и проанализировать полученные результаты: 4. Организовать поиск элемента с заданным ключом для метода открытой адресации (линейные и квадратичные пробы). Описание основных подпрограмм Результаты работы программы
Комментарии: Все работы зачтены без замечаний! Дата сдачи: март 2017 г. Подходят для всех вариантов. В архиве пять лабораторных работ. К каждой работе прилагается отчет + файлы программы.
СКАЧАТЬ МОЖНО ЗДЕСЬ
|
|
| |