- •Белорусский государственный университет информатики и радиоэлектронники
- •Курсовой проект
- •Содержание.
- •2.1 Описание метода сортировки Пузырьком.
- •2.2 Описание метода сортировки Выбором.
- •2.3 Описание метода сортировки Вставками.
- •2.4 Описание метода Шелла.
- •2.5 Описание Пирамидального метода сортировки.
- •3.1 Алгоритм программы
Белорусский государственный университет информатики и радиоэлектронники
Факультет заочного, вечернего и дистанционного образования
Специальность: Программное обеспечение информационных технологий.
Курсовой проект
по дисциплине «Конструирование программ и языки программирования»
на тему: «Методы сортировки и их сравнение»
Выполнил:
Минск 2009
Содержание.
Постановка задачи 3
Теоретические сведения 4
Схема алгоритма решения задачи 18
Описание функций 19
Руководство пользователю 21
Литература 28
Листинг программы 29
Постановка задачи
Разработать обучающую программу реализующую алгоритм сортировки методом Шелла. Сравнить с n²-методами (сравнение с “пузырьковым методом”).
Исследовать как же поведут себя в реальных задачах сортировки элементарных массивов такие алгоритмы сортировки, как: пирамидальная, пузырьковая, выбором, вставками, Шелла.
Теоретические сведения
Существует много методов сортировки последовательностей. Наиболее приемлемый и широко используемый в целях обучения является «пузырьковый» метод сортировки. Он хорошо и быстро сортирует небольшие массивы (порядка 10-20 элементов). Но на предприятиях и вообще в промышленности, информационных сетях и информационных станциях используются огромные массивы данных и сортировать их методом «пузырька» нет смысла так как это занимает очень большое количество времени.
Для упрощения этой задачи были разработаны и отлажены дополнительные методы сортировки. Их время реализации намного превышало время сортировки «пузырькового» метода. Это отчетливо было видно особенно на работе с большими структурами данных.
Ниже рассмотрены описания некоторых из них.
2.1 Описание метода сортировки Пузырьком.
Расположим массив сверху вниз, от нулевого элемента - к последнему.
Идея метода: шаг сортировки состоит в проходе снизу вверх по массиву. По пути просматриваются пары соседних элементов. Если элементы некоторой пары находятся в неправильном порядке, то меняем их местами.
После нулевого прохода по массиву "вверху" оказывается самый "легкий" элемент - отсюда аналогия с пузырьком. Следующий проход делается до второго сверху элемента, таким образом второй по величине элемент поднимается на правильную позицию...
Делаем проходы по все уменьшающейся нижней части массива до тех пор, пока в ней не останется только один элемент. На этом сортировка заканчивается, так как последовательность упорядочена по возрастанию.
Среднее число сравнений и обменов имеют квадратичный порядок роста: Theta(n2), отсюда можно заключить, что алгоритм пузырька очень медленен и малоэффективен. Тем не менее, у него есть громадный плюс: он прост и его можно по-всякому улучшать.