5-Алгоритмизация и программировани / Алгоритмиз и прогр БИСЗУ11 / Лабораторные работы / Лабораторная работа1 Сортировка в ОП / Задание Лабораторная1
.docЛабораторная работа №1.
Сравнительный анализ эффективности методов сортировки массивов данных в оперативной памяти.
Цель работы: изучение алгоритмов сортировки массивов данных в ОП, особенностей их программной реализации и эффективности работы на различных наборах исходных данных.
Общая постановка задачи.
Разработать и реализовать программу, предназначенную для исследования времени работы и поведения методов сортировки, указанных в варианте задания.
Для решения поставленной задачи применить объектно-ориентированный подход. Разработать шаблон класса «Одномерный массив», включающий в себя необходимый минимум методов, обеспечивающий полноценное функционирование объектов указанного класса в рамках данной программы.
Провести исследование параметров работы указанных в варианте задания методов сортировки на различных наборах данных. Представить отчет, содержащий результаты исследования и полученные выводы.
Содержание отчета.
-
Для сформированных случайным образом массивов построить графики зависимости времени сортировки от количества элементов в массиве по каждому методу сортировки. Проанализировать полученные данные и сделать вывод о сравнительной эффективности исследуемых методов.
-
Для каждого метода построить графики зависимости времени сортировки от количества элементов в массиве, формируя массив тремя различными способами: (случайные значения, упорядоченная последовательность значений, значения расположены в обратном порядке). На основании полученных данных сделать вывод о степени естественности поведения каждого из алгоритмов сортировки.
Требования к функциональным возможностям программы.
Программа должна содержать меню, позволяющее выбирать один из двух режимов работы программы:
-
сортировка одного массива, сформированного случайным образом;
-
режим накопления статистических данных
В первом режиме требуется предоставить пользователю следующие возможности:
-
задавать размер массива;
-
указывать диапазон значений элементов массива;
-
выбирать метод сортировки массива.
Результаты работы программы в данном режиме:
-
вывести на экран количество сравнений и перестановок элементов массива;
-
исходный и отсортированный массивы вывести в файл с указанным именем.
Во втором режиме пользователь должен иметь возможность:
-
выбирать способ формирования элементов массива (случайные значения, упорядоченная последовательность значений, значения расположены в обратном порядке);
-
задавать диапазон и шаг изменения размеров массива;
-
выбирать метод сортировки массива.
Результаты работы программы в данном режиме:
Для каждого значения размера формируется новый массив и сортируется выбранным методом. В файл с указанным именем выводятся значения времени сортировки для каждого количества элементов в массиве.
Варианты заданий.
Вариант №1.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; сортировка прямыми обменами.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №2.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; сортировка прямыми включениями.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №3.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; сортировка методом Шелла.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №4.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №5.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №6.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; сортировка прямыми включениями.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №7.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; сортировка методом Шелла.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №8.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №9.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №10.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми включениями; сортировка методом Шелла.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №11.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми включениями; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №12.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми включениями; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №13.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка методом Шелла; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №14.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка методом Шелла; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №15.
Программно реализовать следующие методы сортировки данных в оперативной памяти: корпоративная сортировка; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №16.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; сортировка прямыми обменами.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №17.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; сортировка прямыми включениями.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №18.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; сортировка методом Шелла.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №19.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №20.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямым выбором; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №21.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; сортировка прямыми включениями.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №22.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; сортировка методом Шелла.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №23.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №24.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми обменами; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №25.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми включениями; сортировка методом Шелла.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №26.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми включениями; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №27.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка прямыми включениями; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №28.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка методом Шелла; корпоративная сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №29.
Программно реализовать следующие методы сортировки данных в оперативной памяти: сортировка методом Шелла; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.
Вариант №30.
Программно реализовать следующие методы сортировки данных в оперативной памяти: корпоративная сортировка; быстрая сортировка.
Оценить быстродействие указанных методов и степень естественности их поведения.