Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР3_Алгоритмы_сортировки.doc
Скачиваний:
7
Добавлен:
12.08.2019
Размер:
62.98 Кб
Скачать

Лабораторная работа № 3 алгоритмы сортировки

Цель работы – познакомиться внутренними и внешними сортировками, сравнить различные алгоритмы сортировок, оценить их эффективность для различных задач.

Постановка задачи

Написать две программы согласно номеру индивидуального варианта. В первой программе провести сравнение указанных алгоритмов сортировки массивов, содержащих n1, n2, n3 и n4 элементов. Каждую функцию сортировки вызывать трижды: для сортировки упорядоченного массива, массива, упорядоченного в обратном порядке и неупорядоченного массива. Сортируемая последовательность для всех методов должна быть одинаковой (сортировать копии одного массива). Проиллюстрировать эффективность алгоритмов сортировок по заданному критерию. Построить диаграммы указанных зависимостей. Во второй программе отсортировать данные в файле с помощью одного из алгоритмов внешних сортировок.

Варианты заданий

Вариант № 1

  1. Порядок: по возрастанию элементов. Методы: пузырька, шейкерный, быстрая сортировка (рекурсивный метод и qsort()). N1=1000, N2=5000, N3=10000, N4=15000. Критерий – время сортировки. Диаграмма зависимости времени сортировки от метода.

  2. Отсортировать текстовый файл, содержащий вещественные числа, в порядке возрастания методом естественного слияния.

Вариант № 2

  1. Порядок: по убыванию элементов. Методы: выбора, пузырька с фиксацией места обмена, быстрая сортировка (нерекурсивный метод и qsort()). N1=500, N2=3000, N3=10000, N4=12000. Критерий – количество сравнений. Диаграмма зависимости количества сравнений от метода.

  2. Отсортировать текстовый файл, содержащий целые числа, в порядке возрастания методом прямого слияния.

Вариант № 3

  1. Порядок: по возрастанию элементов. Методы: бинарных вставок, Шелла (шаг сортировки задается числами Фибоначчи), быстрая сортировка (рекурсивный метод и qsort()). N1=1000, N2=3000, N3=7000, N4=10000. Критерий – количество сравнений. Диаграмма зависимости количества сравнений от упорядоченности массива.

  2. Отсортировать бинарный файл, содержащий вещественные числа, в порядке возрастания методом прямого слияния.

Вариант № 4

  1. Порядок: по возрастанию элементов. Методы: Шелла (шаг сортировки задается формулами: 2k-1, 2k+1), быстрая сортировка (нерекурсивный метод и qsort()). N1=1000, N2=5000, N3=10000, N4=13000. Критерий – время сортировки. Диаграмма зависимости времени сортировки от метода.

  2. Отсортировать текстовый файл, содержащий вещественные числа, в порядке убывания методом естественного слияния.

Вариант № 5

  1. Порядок: по убыванию элементов. Методы: простых вставок, пузырька с ограничением числа проходов, пирамидальная сортировка и qsort(). N1=1000, N2=5000, N3=10000, N4=15000. Критерий – время сортировки. Диаграмма зависимости времени сортировки от метода.

  2. Отсортировать бинарный файл, содержащий вещественные числа, в порядке убывания методом многопутевого слияния.

Вариант № 6

  1. Порядок: по убыванию элементов. Методы: простых вставок, пузырька с ограничением числа проходов, пирамидальная сортировка и qsort(). N1=1000, N2=5000, N3=10000, N4=15000. Критерий – время сортировки. Диаграмма зависимости времени сортировки от метода.

  2. Отсортировать бинарный файл, содержащий целые числа, в порядке убывания методом естественного слияния.

Вариант № 7

  1. Порядок: по убыванию элементов. Методы: бинарных вставок, пузырька с фиксацией места обмена, пирамидальная сортировка и qsort(). N1=500, N2=1000, N3=3000, N4=5000. Критерий – количество сравнений. Диаграмма зависимости количества сравнений от метода.

  2. Отсортировать строки текстового файла в алфавитном порядке методом прямого слияния.

Вариант № 8

  1. Порядок: по убыванию элементов. Методы: пузырька, шейкера, быстрая сортировка (нерекурсивный и рекурсивный методы). N1=1000, N2=1800, N3=10000, N4=50000. Критерий – количество перестановок. Диаграмма зависимости количества перестановок от количества элементов в массиве.

  2. Отсортировать строки текстового файла в алфавитном порядке методом естественного слияния.

Вариант № 9

  1. Порядок: по возрастанию элементов. Методы: Шелла (шаг сортировки задается формулами: 2k-1, (2k-(-1)k)/3), быстрая сортировка (рекурсивный метод и qsort()). N1=500, N2=1000, N3=2000, N4=3500. Критерий – время сортировки. Диаграмма зависимости времени сортировки от метода.

  2. Отсортировать строки текстового файла в алфавитном порядке методом многопутевого слияния.

Вариант № 10

  1. Порядок: по убыванию элементов. Методы: бинарных вставок, шейкерный, быстрая сортировка (нерекурсивный метод и qsort()). N1=1000, N2=5000, N3=10000, N4=15000. Критерий – время сортировки. Диаграмма зависимости времени сортировки от упорядоченности массива.

  2. Отсортировать текстовый файл, содержащий целые числа, в порядке убывания методом естественного слияния.

Вариант № 11

  1. Порядок: по убыванию элементов. Методы: выбора, пузырька с фиксацией места обмена, быстрая сортировка (рекурсивный и нерекурсивный методы). N1=500, N2=3000, N3=10000, N4=12000. Критерий – количество перестановок. Диаграмма зависимости количества перестановок от метода.

  2. Отсортировать текстовый файл, содержащий целые числа, в порядке возрастания методом многопутевого слияния.

Вариант № 12

  1. Порядок: по возрастанию элементов. Методы: пузырька, Шелла (шаг сортировки hk-1=3hk+1, ht=1, t=log3n-1 и hk-1=2hk+1, ht=1, t=log2n-1) и qsort(). N1=1000, N2=3000, N3=7000, N4=10000. Критерий – количество перестановок. Диаграмма зависимости количества перестановок от метода.

  2. Отсортировать бинарный файл, содержащий вещественные числа, в порядке возрастания методом многопутевого слияния.

Вариант № 13

  1. Порядок: по возрастанию элементов. Методы: выбора, Шелла (шаг сортировки задается простыми числами), быстрая сортировка (нерекурсивный метод и qsort()). N1=1000, N2=5000, N3=10000, N4=13000. Критерий – время сортировки. Диаграмма зависимости времени сортировки от количества элементов в массиве.

  2. Отсортировать текстовый файл, содержащий вещественные числа, в порядке убывания методом прямого слияния.

Вариант № 14

  1. Порядок: по убыванию элементов. Методы: простых вставок, пузырька с фиксацией места обмена, пирамидальная сортировка и qsort(). N1=500, N2=1000, N3=3000, N4=5000. Критерий – количество сравнений. Диаграмма зависимости количества сравнений от количества элементов в массиве.

  2. Отсортировать бинарный файл, содержащий целые числа, в порядке убывания методом прямого слияния.

Вариант № 15

  1. Порядок: по убыванию элементов. Методы: шейкера, пирамидальная сортировка, быстрая сортировка (рекурсивный метод и qsort()). N1=1000, N2=10000, N3=35000, N4=50000. Критерий – количество сравнений. Диаграмма зависимости количества сравнений от метода.

  2. Отсортировать бинарный файл, содержащий целые числа, в порядке возрастания методом прямого слияния.

Вариант № 16

  1. Порядок: по возрастанию элементов. Методы: шейкерная, Шелла (шаг сортировки задается числами Фибоначчи), быстрая сортировка (нерекурсивный метод и qsort()). N1=500, N2=1000, N3=2000, N4=3500. Критерий – время сортировки. Диаграмма зависимости времени сортировки от метода.

  2. Отсортировать бинарный файл, содержащий целые числа, в порядке убывания методом естественного слияния.

Вариант № 17

  1. Порядок: по возрастанию элементов. Методы: выбора, шейкерная, пирамидальная, быстрая сортировка (рекурсивный метод). N1=500, N2=1000, N3=2000, N4=3500. Критерий – количество перестановок. Диаграмма зависимости количества перестановок от метода.

  2. Отсортировать бинарный файл, содержащий целые числа, в порядке убывания методом многопутевого слияния.