Triple State QuickSort, A replacement for the C/C++ library qsort
Abstract
An industrial grade Quicksort function along with its new algorithm is presented. Compared to 4 other well known implementations of Quicksort, the new algorithm reduces both the number of comparisons and swaps in most cases while staying close to the best of the 4 in worst cases. We trade space for performance, at the price of n/2 temporary extra spaces in the worst case. Run time tests reveal an overall improvement of at least 15.8% compared to the overall best of the other 4 functions. Furthermore, our function scores a 32.7% run time improvement against Yaroslavskiy's new Dual Pivot Quicksort. Our function is pointer based, which is meant as a replacement for the C/C++ library qsort(). But we also provide an array based function of the same algorithm for easy porting to different programming languages.
Keywords
Cite
@article{arxiv.1505.00558,
title = {Triple State QuickSort, A replacement for the C/C++ library qsort},
author = {Ammar Muqaddas},
journal= {arXiv preprint arXiv:1505.00558},
year = {2015}
}
Comments
31 pages, 49 Figures. Minor fix in page 15 and a typo