Файл: Методы сортировки данных: эволюция и сравнительный анализ. Примеры использования (Свойства и классификация).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 23.04.2023

Просмотров: 315

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Пример работы быстрой сортировки приведен на рисунке 6.

Рисунок 7. Пример работы быстрой сортировки.

Приведем код сортировки на языке С++:

void quickSortR(int* a, long N) {

// На входе - массив a[], a[N] - его последний элемент.

long i = 0, j = N - 1;

T temp, p;

// поставить указатели на исходные места

p = a[N >> 1];

// процедура разделения do {

// центральный элемент

while (a[i] < p) i++; while (a[j] > p) j--; if (i <= j) {

temp = a[i]; a[i] = a[j]; a[j] = temp; i++; j--;

}

} while (i <= j);

// рекурсивные вызовы, если есть, что сортировать if (j > 0) quickSortR(a, j); if (N > i) quickSortR(a + i, N - i);

}

Заключение

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

  • Проанализирована эволюция методов сортировки.
  • Проведена классификации и сравнение методов сортировки.
  • Подробно изучены и реализованы на языке С++ некоторые алгоритмы.

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

  1. United States Census // Sources of U. S. Census Data, from MIT Libraries, 2011. URL: http://libraries.mit.edu/guides/types/census/sources.html (дата обращения: 09.06.2019)
  2. Г. В. Электрическая машина Голлерита для подсчета статистических данных // В. О. Ф.Э.М. — 1895. — № 225. — С. 193–201.
  3. Дупленко А. Г. Сравнительный анализ алгоритмов сортировки данных в массивах // Молодой ученый. — 2013. — № 8. — С. 50–53.
  4. Кнут Д. Э. Искусство программирования, т.3. Сортировка и поиск. — М.: Издательский дом «Вильямс», 2010.
  5. Никитин Ю. Б. Сложность алгоритмов сортировки на частично упорядоченных множествах: автореферат дис. … канд. физ.-мат. наук: 01.01.09 / Никитин Юрий Борисович. — Москва, 2001. — 80 с.
  6. Дупленко А. Г. Эволюция способов и алгоритмов сортировки данных в массивах // Молодой ученый. — 2013. — №9. — С. 17-19. — URL https://moluch.ru/archive/56/7702/ (дата обращения: 09.06.2019).
  7. Овчинникова И. Г., Сахнова Т. Н. Алгоритмы сортировки при решении задач по программированию // Информатика и образование. — 2011. — № 2. — С. 53–56.
  8. Антонова И. И., Карих О. А. Оценка эффективности параллельных алгоритмов задачи сортировки данных // Промышленные АСУ и контроллеры. — 2010. — № 3. — С. 23–25.
  9. Мартынов В. А., Миронов В. В. Параллельные алгоритмы сортировки данных с использованием технологии MPI // Вестник Сыктывкарского университета. Серия 1: Математика. Механика.