Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет.указания к лаб.раб.часть1 А5.doc
Скачиваний:
7
Добавлен:
17.08.2019
Размер:
336.38 Кб
Скачать

Содержание отчета.

  1. Краткое изложение задачи внутренней сортировки, рассматриваемого метода сортировки, целей и задач лабораторной работы.

  2. Блок-схема алгоритма рассмотренной сортировки.

  3. Таблица последовательности сортировки заданного массива чисел с указанием номеров просмотров (сортировка вручную).

  4. Результаты сортировки на ЭВМ (листинг с комментариями).

  5. Сравнительный анализ (конкретный по полученным данным) метода подсчетом и метода пузырька. Обобщение анализа на большие массивы данных.

Контрольные вопросы.

  1. В чем особенность сортировки методом подсчета?

  2. Проанализируйте с точки зрения устойчивости метод сортировки подсчетом. Является ли он устойчивым?

2.3. Лабораторная работа № 3. Сортировка информационных массивов методом вставки.

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

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

Одно из важнейших семейств методов сортировки основано на использовании следующей идеи: предполагается, что перед рассмотрением записи aj предыдущие записи a1, …, aj-1 уже упорядочены, и aj вставляется в соответствующее место. На основе этой схемы возможны несколько вариаций. В лабораторной работе изучается разновидность, которая называется методом простых вставок.

Алгоритм сортировки методом простых вставок заключается в следующем. Пусть и записи a1, …, aj-1 уже размещены так, что . Будем сравнивать по очереди Кj c Кj-1, Кj-2, … до тех пор, пока не обнаружим, что запись aj следует вставить между ai и ai+1; тогда подвинем записи ai+1,…, aj+1 на одно место вправо и поместим новую запись в позицию i+1.

Удобно совмещать операции сравнения и перемещения, перемежая их друг с другом. Поскольку запись aj как бы “проникает на положенный ей уровень”, этот способ называют “просеиванием” или “погружением”.

Приведем пример сортировки массива из 5 чисел:

Исходный массив 5 2 4 1 3

П ервое сравнение 5 : 2

2 5 : 4

2 4 5 : 1

1 2 4 5 : 3

Массив упорядочен 1 2 3 4 5

Знак “ : ” означает сравнение. Стрелкой показана пересылка элемента.

Эффективность алгоритма зависит от числа сравнений и пересылок. Грубую оценку среднего числа сравнений можно произвести очень просто. Действительно, когда обрабатывается j-я запись, ее ключ сравнивается в среднем примерно с j/2 ранее отсортированными ключами; поэтому общее число сравнений приблизительно равно

(2.5)

Можно более точно оценить количество сравнений, используя понятие инверсии. Число проверок условий Кi<Kj зависит от числа инверсий в сортируемом множестве. Количество сравнений

(2.6)

где j – число инверсий (число элементов, больших Кj и стоящих слева от него).

Так число инверсий j и аj связано с номером, следующим соотношением:

Пусть независимы, тогда максимальное количество сравнений определяется формулой:

(2.7)

Минимальное количество сравнений определяется формулой

(2.8)

где j = 0 , т.е. массив упорядочен.

Среднее количество сравнений определяется из предположения, что среднее количество инверсий равно

(2.9)

Тогда среднее количество сравнений задается формулой

(2.10)

Усовершенствованиями метода простых вставок являются методы: бинарных вставок, двухпутевые вставки, метод Шелла, вставки в список и др. Познакомиться с этими методами и их сравнительными оценками можно по литературе.

Блок-схема данного метода представлена в Приложении 3.