Автор работы: Пользователь скрыл имя, 21 Октября 2013 в 13:42, курсовая работа
Зачем нужна сортировка? Ответ простой: если данные не упорядочены, то найти что-либо можно только путем последовательного перебора всех элементов. Насколько трудно было бы пользоваться словарем, если бы слова в нем не располагались в алфавитном порядке. Точно так же от порядка, в котором хранятся элементы в памяти компьютера, во многом зависит скорость выполнения и простота алгоритмов, предназначенных для их обработки.
Хотя в словарях слово «сортировка» определяется как процесс разделения объектов по виду или сорту, в программировании оно используется в гораздо более узком смысле, обозначая такую перестановку предметов, при которой они располагаются в порядке возрастания или убывания.
Введение………………………………………………………...………………..……4
1 Проблематика методов сортировок………………………………………………..5
Классификация алгоритмов сортировок……………………………………......5
Оценка алгоритмов сортировок…………………………………………….…...5
1.3 Анализ алгоритмов сортировок…………………………………………………6
Пузырьковая сортировка...………………………………………………….....6
Сортировка выбором………………………………………………...................8
Сортировка вставками…………………………………………………………8
Сортировка Хоара……………………………………………………………...9
Сортировка Шелла.…………………………………………………………...10
Поразрядная сортировка……………………………………………………...12
Разработка программы сортировки матрицы…………………………………...14
Типы переменных и файлов……………………………………………………14
Разработка интерфейса программы……………………………………………14
Разработка программы, реализующей сортировку матрицы………………...14
Сравнительный анализ разработанных алгоритмов сортировок…………….16
Заключение…………………………………………………………………………...17
Список использованных источников……………………………………………….18
Приложение А Листинг программы…………………….………………………….19
Приложение Б Схема алгоритма работы разработанных методов сортировок….23
Приложение В Структурная схема работы программы .………………………….27
Приложение Г Контрольный пример работы с программой…………………..….28
Министерство образования и науки Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет информационных технологий
Кафедра вычислительной техники
по дисциплине «Программирование»
Сортировка матриц
ОГУ 230100.62.1107.006.О
Министерство образования и науки Российской Федерации
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет информационных технологий
Кафедра вычислительной техники
Задание на курсовую работу
Исходные данные: Размерность матрицы: 70×70;
Тип сортировки: по возрастанию;
Область сортировки: каждая строка;
Значение элементов матрицы: тип word.
Перечень подлежащих разработке вопросов:
Перечень графического материала:
Рисунки, схемы, таблицы, отражающие сравнительные характеристики методов сортировок.
Дата выдачи задания “___”_________________
Руководитель
старший преподаватель Медведев В. А.
Исполнитель
студент группы 11ИВТ(б) ВМК Кожевников Н.В.
Срок защиты работы “__”__________________20___г.
Содержание
Введение……………………………………………………….
1 Проблематика методов сортировок………………………………………………..
1.3 Анализ алгоритмов сортировок…………………………………………………6
Заключение……………………………………………………
Список использованных источников……………………………………………….
Приложение А Листинг программы…………………….………………………….
Приложение Б Схема алгоритма работы разработанных методов сортировок….23
Приложение В Структурная схема работы программы .………………………….27
Приложение Г Контрольный пример работы с программой…………………..….28
Введение
Зачем нужна сортировка? Ответ простой: если данные не упорядочены, то найти что-либо можно только путем последовательного перебора всех элементов. Насколько трудно было бы пользоваться словарем, если бы слова в нем не располагались в алфавитном порядке. Точно так же от порядка, в котором хранятся элементы в памяти компьютера, во многом зависит скорость выполнения и простота алгоритмов, предназначенных для их обработки.
Хотя в словарях слово «сортировка» определяется как процесс разделения объектов по виду или сорту, в программировании оно используется в гораздо более узком смысле, обозначая такую перестановку предметов, при которой они располагаются в порядке возрастания или убывания.
Некоторые из наиболее важных областей применения сортировки:
Хотя сортировка традиционно и большей частью использовалась для обработки коммерческих данных, в действительности она является инструментом, полезным в самых разных ситуациях. Алгоритмы сортировки имеют большое практическое применение. Их можно встретить почти везде, где речь идет об обработке и хранении больших объемов информации. Сортировка больших объемов данных используется при численном моделировании широкого круга задач, например, при решении систем линейных уравнений большой размерности, при разбиении графов, описывающих двух- и трехмерных расчетные сетки, при сжатии сеточных функций – результатов выполненных крупномасштабных вычислительных экспериментов и так далее.
Количество алгоритмов сортировки достаточно велико. В настоящее время их число, включая экзотические и мало распространенные алгоритмы, приближается к сорока.[2] Все эти алгоритмы можно классифицировать по нескольким признакам:
ж) по времени работы.[3]
Возможны также некоторые другие принципы разделения алгоритмов сортировки.
Существует много различных алгоритмов сортировки. Все они имеют свои положительные стороны, но общие критерии оценки алгоритма сортировки
таковы: быстрота сортировки информации в среднем, быстрота сортировки информации в худшем и лучшем случаях, естественное или неестественное поведение алгоритма, происходит ли перестановка элементов с одинаковыми ключами.
Очевидно, что скорость работы любого алгоритма сортировки имеет большое значение. Скорость сортировки массива непосредственно связана с количеством сравнений и количеством обменов, происходящих во время сортировки, причем обмены занимают больше времени. Сравнение происходит тогда, когда один элемент массива сравнивается с другим; обмен происходит тогда, когда два элемента меняются местами. Время работы одних алгоритмов сортировки растет экспоненциально, а время работы других логарифмически зависит от количества элементов.
Время работы в лучшем и худшем случаях имеет значение, если одна из этих ситуаций будет встречаться довольно часто. Алгоритм сортировки зачастую имеет хорошее среднее время выполнения, но в худшем случае он работает очень медленно.
Поведение алгоритма сортировки называется естественным, если время сортировки минимально для уже упорядоченного списка элементов, увеличивается по мере возрастания степени неупорядоченности списка и максимально, когда элементы списка расположены в обратном порядке. Объем работы алгоритма оценивается количеством производимых сравнений и обменов.
Чтобы понять, почему переупорядочивание
элементов с одинаковыми
Самый простой алгоритм группы обменных сортировок
(или сортировок перестановками) получил название пузырьковой сортировк