Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пример оформления курсовой работы по СПП.doc
Скачиваний:
13
Добавлен:
15.03.2016
Размер:
660.48 Кб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное

учреждение высшего профессионального образования

«Комсомольский-на-Амуре государственный

технический университет»

Факультет компьютерных технологий

Кафедра «Прикладная математика и информатика»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе

по дисциплине «Современные практики программирования»

Реализация различных алгоритмов сортировки на языке C#

Студент группы 3МИб-1 ____________________ Р.И. Шишов

подпись, дата

Руководитель работы ____________________ А.Ю. Лошманов

подпись, дата

Нормоконтролер ____________________ А.Ю. Лошманов

подпись, дата

2015 Содержание

Введение…………………………………………………………………………...........3

1 Пузырьковая сортировка..............……………………………………………............4

2 Алгоритм бинарного дерева…………........…………………………………………7

3 Быстрая сортировка………........................……………….…………………...........11

4 Сортировка перемешиванием...…………………………….…….………..……….14

5 Сортировка выбором...……………………………………….….......……..……….18

Заключение………………………………………………………………….…………21

Список использованных источников………………………………………..……….22

Введение

Целью данной курсовой работы является изучение основных алгоритмов сортировки массивов и определение самого эффективного, то есть наиболее быстро действенного метода.

Необходимость отсортировать какие-либо величины возникает в программировании очень часто. Например, входные данные подаются «вперемешку», а нашей программе удобнее обрабатывать упорядоченную последовательность. Еще в упорядоченном массиве легче осуществлять поиск. Существуют ситуации, когда предварительная сортировка данных позволяет сократить содержательную часть алгоритма в разы, а время его работы - в десятки раз [1].

Практическое значение выбранной темы – осуществление пяти основных методов сортировки:

  • Пузырьковая сортировка;

  • Алгоритм бинарного дерева;

  • Быстрая сортировка;

  • Сортировка перемешиванием;

  • Сортировка выбором.

Алгоритмы сортировки образуют основу для огромного большинства прикладных программ. Сортировка информации – это одна из стандартных функций, возникающих в процессе решения задач.

В частности, в данном курсовом проекте осуществлены следующие алгоритмы: создание исходного случайного массива, выбор одного из пяти методов сортировки, выбор способа сортировки массива (по возрастанию или по убыванию), вывод отсортированного массива.

В процессе создания программы будет разработан алгоритм каждой сортировки в отдельности, продуман удобный интерфейс для пользователя, и в итоге написана удобочитаемая программа.

1 Пузырьковая сортировка

Метод пузырьковой сортировки один из самых простых методов внутренней сортировки. Суть алгоритма состоит в последовательном просмотре массива от конца к началу или от начала к концу и сравнении каждой пары элементов между собой. При этом «неправильное» расположение элементов устраняется путем их перестановки.

Процесс просмотра и сравнения элементов повторяется до просмотра всего массива. При сортировке по возрастанию «легкие» элементы с меньшим значением как бы «всплывают» к началу массива подобно тому, как это делают пузырьки воздуха в стакане с водой - отсюда и происходит популярное название алгоритма.

«Пузырьковая» сортировка имеет очень плохие временные характеристики. Она имеет только учебно-исторический интерес и не может быть рекомендована для практического использования [5].

Реализация алгоритма пузырьковой сортировки на языке С#:

class Sort

{

public void BubbleSort(int[] a)

{

int t;

int n = a.Length;

for (int j = 1; j <= n - 1; j++)

{

for (int i = 0; i < n - j; i++)

{

if (a[i] > a[i + 1])

{

t = a[i];

a[i] = a[i + 1];

a[i + 1] = t;

}

}

}

}

}

Рисунок 1 – Реализация программы, которая сортирует по возрастанию массив из 3000 элементов пузырьковым методом за 52 миллисекунд.

Рисунок 2 – Реализация программы, которая сортирует по убыванию массив из 3000 элементов пузырьковым методом за 52 миллисекунд.