Файл: Методы сортировки данных: эволюция и сравнительный анализ. Примеры использования (Свойства и классификация).pdf
Добавлен: 23.04.2023
Просмотров: 313
Скачиваний: 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);
}
Заключение
В данной работы были рассмотрены различные алгоритмы сортировок. Был проведен анализ процесса эволюции этих алгоритмов. Были приведены основные методы классификации алгоритмов сортировок. Было проведено сравнение сортировок пузырьком, вставками и быстрой по времени их выполнения. Были приведены подробное описание и пример реализации алгоритмов этих сортировок, а также сортировки Шелла и простым выбором. Таким образом, были выполнены основные цели и задачи курсовой работы, то есть:
- Проанализирована эволюция методов сортировки.
- Проведена классификации и сравнение методов сортировки.
- Подробно изучены и реализованы на языке С++ некоторые алгоритмы.
Список использованных источников
- 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)
- Г. В. Электрическая машина Голлерита для подсчета статистических данных // В. О. Ф.Э.М. — 1895. — № 225. — С. 193–201.
- Дупленко А. Г. Сравнительный анализ алгоритмов сортировки данных в массивах // Молодой ученый. — 2013. — № 8. — С. 50–53.
- Кнут Д. Э. Искусство программирования, т.3. Сортировка и поиск. — М.: Издательский дом «Вильямс», 2010.
- Никитин Ю. Б. Сложность алгоритмов сортировки на частично упорядоченных множествах: автореферат дис. … канд. физ.-мат. наук: 01.01.09 / Никитин Юрий Борисович. — Москва, 2001. — 80 с.
- Дупленко А. Г. Эволюция способов и алгоритмов сортировки данных в массивах // Молодой ученый. — 2013. — №9. — С. 17-19. — URL https://moluch.ru/archive/56/7702/ (дата обращения: 09.06.2019).
- Овчинникова И. Г., Сахнова Т. Н. Алгоритмы сортировки при решении задач по программированию // Информатика и образование. — 2011. — № 2. — С. 53–56.
- Антонова И. И., Карих О. А. Оценка эффективности параллельных алгоритмов задачи сортировки данных // Промышленные АСУ и контроллеры. — 2010. — № 3. — С. 23–25.
- Мартынов В. А., Миронов В. В. Параллельные алгоритмы сортировки данных с использованием технологии MPI // Вестник Сыктывкарского университета. Серия 1: Математика. Механика.