Перед выполнением заданий лабораторной работы рекомендуется изучить теоретический материал по теме практической работы работы и описание методов обработки данных на псевдокоде, используя конспекты лекционных занятий и литературу из списка.
Задания лабораторных работ выполняются только на языке программирования С/С++, среда программирования по выбору студента.
Изучаемые методы обработки данных рекомендуется программно реализовывать в виде
отдельных функций (подпрограмм), массивы (последовательности) данных должны
передаваться в подпрограммы в качестве параметров. Заполнение массивов данными,
вывод их на экран, вычисление вспомогательных величин и пр. необходимо
оформлять в виде отдельных подпрограмм.
При выполнении заданий следует обеспечить вывод на экран данных на всех шагах
алгоритма. Программа должна иметь дружественный, интуитивно понятный интерфейс
(меню пользователя, вывод подсказок, комментарии при вводе/выводе данных и
т.д.).
В программе в ходе выполнения алгоритма необходимо предусмотреть подсчет количества
сравнений С и количества пересылок М и вывести их
экран.
Тестирование разработанной программы необходимо проводить для различных типов
входных данных (случайный массив, упорядоченный массив в прямом и обратном
порядке). После тестирования необходимо проанализировать полученные результаты,
т.е. проверить соответствие полученных экспериментальным путем величин М и С теоретическим оценкам трудоемкости реализованных методов.
Для зачета по лабораторной работе студенту необходимо представить в отдельной папке
Отчет должен включать в себя следующие разделы
Цель работы: Освоить методы сортировки массивов.
Порядок выполнения работы:
контролировать правильность сортировки путем подсчета контрольной суммы и числа серий в массиве (оформить в виде подпрограммы).
Серией называется неубывающая последовательность элементов массива
максимальной длины.
Пример: в массиве 23145314 (23 145 3 14) содержится 4 серии
Размер массива |
Мф+Сф метод пр. выбора |
Мф+Сф м. Шелла |
Мф+Сф пирам. (м. Хоара) |
||||||
Убыв. |
Случ. |
Возр. |
Убыв. |
Случ. |
Возр. |
Убыв. |
Случ. |
Возр. |
|
100 |
|
|
|
|
|
|
|
||
200 |
|
|
|
|
|
|
|
||
300 |
|
|
|
|
|
|
|
||
400 |
|
|
|
|
|
|
|
||
500 |
|
|
|
|
|
|
|
Цель работы: Освоить быстрые методы сортировки последовательностей
Порядок выполнения работы:
Длина списка |
(Мф+Сф ) метод прямого слияния (цифровая сорт.) |
||
Возрастающие числа |
Убывающие числа |
Случайные числа |
|
100 |
|
|
|
200 |
|
|
|
300 |
|
|
|
400 |
|
|
|
500 |
|
|
|
Цель работы:Изучение возможности хэширования данных для организации поиска.
Порядок выполнения работы:
Номер ячейки |
0 |
1 |
2 |
3 |
… |
|
|
… |
m-1 |
Число |
|
|
|
|
|
|
|
|
|
Размер хеш-таблицы |
Количество исходных чисел |
Количество коллизий |
|
Линейные пробы |
Квадратичные пробы |
||
13 |
15 |
|
|
29 |
30 |
|
|
43 |
45 |
|
|
67 |
70 |
|
|
83 |
85 |
|
|