- bin - содержит исполняемый файл sample_lab.exe
- experiments - содержит результаты экспериментов и скрипты для построения графиков
- include - содержит исходнники с сортировками, генераторами и вспомогательными функциями
- samples - содержит пример использования функций сортировок и генераторов
- base_sort.h - общий интерфейс сортировок
- cmdline.h - парсер командной строки
- generator.h - содержит реализацию генераторов случайных массивов
- sorts.h - содержит реализацию разлинчный сортировок
- utilities.h - содержит вспомогательный функции (печать, наличие файла в директории, сравнение двух массивов)
- BubbleSort
- StandartSort на основе std::sort()
- k-MergeSort с сортировкой вставками массивов длины k
- QuickSort с разбиением Хоара и устранением хвостовой рекурсии
- QuickSort с разбиением Ломуто и устранением хвостовой рекурсии
- SearchTreeSort на основе multiset
- d-HeapSort где d есть число потомков для узла
- HeapSort на основе make_heap
- BucketStandartSort с сортировкой карманов std::sort() (число карманов = размер/параметр)
- BucketInsertionSort с сортировкой карманов вставками (число карманов = размер/параметр)
- BucketStandartNormalSort адаптация для нормально распределённых данных (число карманов = размер/параметр)
- BucketInsertionNormalSort адаптация для нормально распределённых данных (число карманов = размер/параметр)
- BucketInsertionAdaptivSort (число карманов = sqrt(размер))
- CountingSort только для int32 и int64
- RadixSort только для int32 и int64
- ShellSort с формулой Седжвика
- Генератор чисел int32 в диапазоне от a до b с равномерным распределением
- Генератор чисел int64 в диапазоне от a до b с равномерным распределением
- Генератор чисел double в диапазоне от a до b с равномерным и нормальным распределением
- Генератор чисел float в диапазоне от a до b с равномерным и нормальным распределением
- -f - имя файла .csv со статистикой
- -s - имя сортирвоки
- -n - размер массива для генерации и сортировки
- -k - параметр k для k-MergeSort (размер массива который сортируется вставками)
- -f - парамтер d для d-HeapSort (число потомков)
- -b - знаменатель для вычисления числа карманов b для BucketStandartSort, BucketInsertionSort
- -l - левая граница для генератора случайных чисел
- -r - правая граница для генератора случайных чисел
- -d - вид распределения uniform/normal
- plot_all_sorts.py - строит общий график по всем сортировкам
- plot_method_with_dif_types.py - строит график для конкретной сортировки, её нужно указать в качестве параметра, для разных типов данных
- plot_buckets.py - строит график для сравнения BucketStandartSort, BucketInsertionSort, BucketInsertionAdaptivSort
- plot_with_dif_distribution.py - строит график для сравнения BucketStandartSort и BucketInsertionSort на равномерном и нормальном распределении входных данных