Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
23
Добавлен:
31.03.2015
Размер:
44.03 Кб
Скачать

Задание к л/р «Внутренняя сортировка»

Каждое задание выдается на бригаду из 3-х студентов.

Условие

.Провести анализ 3-х заданных алгоритмов сортировки

  • путем сравнения результатов статистического анализа: С (количество сравнений) и М (количество обменов) ;

  • сравнить полученные результаты и сделать выводы об эффективности каждого алгоритма

  1. в зависимости от степени упорядоченности данных;

  2. путем сравнения методов сортировки;

  3. путем сравнения с аналитическими оценками Сf, Мf.

  • сделать выводы об естественности и устойчивости поведения этих алгоритмов и области их применимости.

Результаты анализа отразить в таблице

Случайный порядок

ключей

Прямой порядок

ключей

Обратный порядок

ключей

<Алгоритм1>

С М

Сf Mf

С М

Сf Mf

С М

Сf Mf

<Алгоритм2>

. . .

. . .

. . .

<Алгоритм3>

. . .

. . .

. . .

Этапы выполнения задания

  1. Ввод (из файла) и печать массива А (вывод в файл и на экран). Массив А – случайно упорядоченный, переменной длины n (не менее 20).

  2. Проверка работоспособности каждого из 3-х алгоритмов сортировки (процедуры без параметров).

  3. Добавить в каждый из алгоритмов счетчики С и М и оформить их как процедуры с параметрами.

  4. Объединить 3 алгоритма в одну программу. Выполнить поставленную задачу, максимально экономя память под сортируемый массив.

  5. Для эффективной организации процесса тестирования использовать функцию упорядочивания f(x), оформить ее как параметр процедурного типа, сделав алгоритмы сортировки универсальными относительно.

  6. Используя функцию упорядочивания, добавить тест : сортировка массива, который упорядочен по возрастанию, в массив, упорядоченный по убыванию.

Методические указания

Этап2

Проверка работоспособности каждого из 3-х алгоритмов сортировки (процедуры без параметров).

Структура программы для каждого из 3-х алгоритмов (пример QuickSort):

Program SortBrig1 (fa, frez)

Type mas=array …

var

Описание вход/выход данных

Procedure QuickSort;

Var

Описание локальных переменных

Begin

Алгоритм без функции f

End ;

Begin {Главная программа}

Подготовка файлов

Ввод длины n массива A

Ввод ( А )

QuickSort; {Сортировка массива А}

Печать массива А { случайн  упор_по возр}

QuickSort; {Сортировка массива А}

Печать массива А {упор_по возр  упор_по возр}

End.

Этап3

Добавить в каждый из алгоритмов счетчики С и М и оформить их как процедуры с параметрами.

Структура программы для каждого из 3-х алгоритмов (пример QuickSort):

Program SortBrig1 (fa, frez)

Type mas=array …

var

Описание вход/выход данных

Procedure QuickSort (n: integer: var A: mas;

Var C,M: integer );

Var

Описание локальных переменных

Begin

Алгоритм без функции f

End ;

Begin {Главная программа}

Подготовка файлов

Ввод длины na массива A

Ввод ( А )

QuickSort (na, A, C ,M); {Сортировка массива А}

Печать ( C, M){ случайн  упор_по возр}

QuickSort (na, A, C ,M); {Сортировка массива А}

Печать (C, M) { упор_по возр  упор_по возр}

End.

Соседние файлы в папке INSORT