diff --git a/src/SortingAlgorithms.jl b/src/SortingAlgorithms.jl index e434e5d..8363b24 100644 --- a/src/SortingAlgorithms.jl +++ b/src/SortingAlgorithms.jl @@ -30,16 +30,18 @@ The interval decreases exponentially until it becomes 1, then it switches to insertion sort on the whole input. Characteristics: - - *not stable*: does not preserve the ordering of elements which + - *not stable* does not preserve the ordering of elements which compare equal (e.g. "a" and "A" in a sort of letters which ignores case). - *in-place* in memory. - *parallelizable* suitable for vectorization with SIMD instructions because it performs many independent comparisons. + - *complexity* worst-case only proven to be better than quadratic, but not `n*log(n)`. ## References + - Werneck, N. L., (2020). "ChipSort: a SIMD and cache-aware sorting module. JuliaCon Proceedings, 1(1), 12, https://doi.org/10.21105/jcon.00012 - H. Inoue, T. Moriyama, H. Komatsu and T. Nakatani, "AA-Sort: A New Parallel Sorting Algorithm for Multi-Core SIMD Processors," 16th International Conference on Parallel Architecture and Compilation Techniques (PACT 2007), 2007, pp. 189-198, doi: 10.1109/PACT.2007.4336211. - - Werneck, N. L., (2020). ChipSort: a SIMD and cache-aware sorting module. JuliaCon Proceedings, 1(1), 12, https://doi.org/10.21105/jcon.00012 + - Vitányi, Paul M. B., (2007). "Analysis of Sorting Algorithms by Kolmogorov Complexity (A Survey)." doi: 10.1007/978-3-540-32777-6 """ const CombSort = CombSortAlg()