Реализация трех алгоритмов поиска порядковых статистик.
Алгоритмы.
Наивный
алгоритм, который использует сортировкуРандомизированный
алгоритмДетерминированный
рекурсивный алгоритм, работающий за линейное в худшем случае время
Структура проекта.
-
3rdparty
- директория со вспомогательными python-скриптами:draw_graphs.py
- рисует графики зависимости времени поиска от размера массиваdraw_histd.py
- выводит на экран гистограммы времени поиска различных уровней квантиля для различных типов данных
-
src
- содержит основной функционалordinal_statistics.h
- файл с шаблонной реализацией всех описанных алгоритмовmain.cpp
- тестирующее приложениеutils.h
- вспомогательные функции, необходимые для реализации алгоритмов и тестирующего приложения
-
utils
- содержит фреймворк для юнит-тестов, а также сами юнит-тесты