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

СКАЧАТЬ МОЖНО ЗДЕСЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru