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