- •1. Общие указания
- •2. Основные операции для работы с d-кучами
- •3. Лабораторная работа «Сравнение двух типов сортировок». Постановка задачи сортировки
- •Сортировка с помощью d-кучи
- •Пузырьковая сортировка
- •Быстрая сортировка
- •Сортировка слиянием
- •Задания для лабораторной работы
- •4. Лабораторная работа «Построение выпуклой оболочки системы n точек на плоскости» Постановка задачи
- •Построение выпуклой оболочки с помощью сортировки
- •Задания для лабораторной работы
- •5. Литература
Задания для лабораторной работы
Написать программу, реализующую алгоритм А и алгоритм В, для проведения экспериментов, в которых можно выбирать:
количество n точек в исходном массиве a,
натуральные числа q и w для псевдослучайного размещения всех n точек в двух режимах:
в прямоугольнике со сторонами длины q и w,
на границе (на сторонах) этого прямоугольника.
Выходом данной программы должен быть массив точек выпуклой оболочки и время работы ТА алгоритма А и время работы ТВ алгоритма В в секундах (или других подходящих единицах времени).
Провести эксперименты на основе следующих данных:
q = 104, w = 104, n = 1, …, 105+1 с шагом 103, размещение точек псевдослучайное:
в режиме (1),
в режиме (2).
(привести в отчёте графики функций TА(n) и ТВ(n) для обоих случаев),
q = w = 0, …, 104 с шагом 100, n = 106, размещение точек псевдослучайное: в режиме (1) (привести в отчёте графики функций TА(w) и ТВ(w)),
q = w = 0, …, 104 с шагом 100, n = 104, размещение точек псевдослучайное: в режиме (2) (привести в отчёте графики функций TА(w) и ТВ(w)).
Приведенные параметры экспериментов являются лишь отправной точкой и предназначены для проведения на компьютерах 2-3 летней давности. Если получается, что TА(n) и ТВ(n) (или TА(w) и ТВ(w)) чрезмерно близки или наблюдается не тот порядок роста этих функций, то следует увеличить один из параметров до устранения нежелательных эффектов.
Предлагаемые варианты для алгоритмов А и B:
Вариант 1.
A – Быстрая сортировка,
B – Сортировка 3-кучей.
Вариант 2.
A – Сортировка слиянием,
B – Сортировка 3-кучей.
Вариант 3.
A – Пузырьковая сортировка,
B – Сортировка 3-кучей.
Вариант 4.
A – Сортировка 2-кучей,
B – Сортировка 3-кучей.
Вариант 5.
A – Быстрая сортировка,
B – Сортировка 15-кучей.
Вариант 6.
A – Сортировка слиянием,
B – Сортировка 15-кучей.
Вариант 7.
A – Пузырьковая сортировка,
B – Сортировка 15-кучей.
Вариант 8.
A – Сортировка 2-кучей,
B – Сортировка 15-кучей.
Вариант 9.
A – Сортировка 14-кучей,
B – Сортировка 15-кучей.
Вариант 10.
A – Пузырьковая сортировка,
B – Быстрая сортировка.
Вариант 11.
A – Пузырьковая сортировка,
B – Сортировка слиянием.
Вариант 12.
A – Быстрая сортировка,
B – Сортировка слиянием
5. Литература
А. Ахо, Дж. Хопкрофт, Дж. Ульман. Построение и анализ вычислительных алгоритмов. – М.: Мир, 1979.
В.Е.Алексеев, В.А.Таланов. Графы. Модели вычислений. Структуры данных. Учебник Нижний Новгород, 2005.
Ф. Препарата, М. Шеймос. Вычислительная геометрия: Введение. – М.: Мир, 1989.