Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 2.24 KB

File metadata and controls

24 lines (20 loc) · 2.24 KB

SortingAlgorithms

Учебная исследовательская работа на тему "Исследование алгоритмов сортировки".

Цель работы

Изучить временные характеристики алгоритмов сортировки данных.

Исследуемые алгоритмы сортировки

1. BubbleSorter - Метод пузырька;

2. QuickSorter - Быстрая сортировка (метод Хоара);

3. CountingSorter - Сортировка подсчётом;

4. TreeSorter - Сортировка бинарным деревом;

5. LidovskyHashSorter - Сортировка массивом (хэширование).

Реализован по описанию из методических рекомендаций: https://github.com/litwr, https://github.com/litwr2.

Подготовка исходных данных

Для выявления характеристик зависимости времени сортировки от объема исходных данных измерения проводились на данных различного объема: 1000, 2000, 4000, 8000, 16000, 32000 и 64000 элементов в диапазоне от 1 до 70000.

А также для выявления особенностей поведения исследуемых алгоритмов на данных разной степени упорядоченности, сортировка производилась на данных следующих типов:

  1. Упорядоченные — элемент массива с меньшим индексом строго больше элемента с большим индексом;
  2. Обратного порядка — элемент массива с меньшим индексом строго меньше элемента с большим индексом;
  3. Вырожденные — массив заполняется случайным образом числами из диапазона от 1 до 12;
  4. Случайные — массив заполняется случайными числами из диапазона от 1 до 70000.