Browse > Article
http://dx.doi.org/10.7236/JIIBC.2014.14.6.295

3-Points Average Pivot Quicksort  

Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
Publication Information
The Journal of the Institute of Internet, Broadcasting and Communication / v.14, no.6, 2014 , pp. 295-301 More about this Journal
Abstract
In the absence of a sorting algorithm faster than O(n log n), Quicksort remains the best and fastest of its kind in practice. For given n data, Quicksort records running in O(n log n) at best and $O(n^2)$ at its worst. In this paper, I propose an algorithm by which 3-points average P=(L+M+H)/3 is set as a pivot for first array L=a[s], last array H=a[e], and middle array $M=a[{\lfloor}(s+e)/2{\rfloor}]$ in order to find the more fast than Quicksort. Test results prove that the proposed 3-points average pivot Quicksort has the time complexity of O(n log n) at its best, average, and worst cases. And the proposed algorithm can be reduce the $O(n^2)$ time of Quicksort to O(n log n).
Keywords
Quicksort; Pivot; Leftmost; Rightmost; Median; Random;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, "Introduction to Algorithms, Chapter 7. Quicksort", 2nd Ed., pp. 145-164, MIT Press, 2005.
2 H. W. Lang, "Sequential and Parallel Sorting Algorithms, Quicksort", FH Flensberg, http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/quick/quicken.htm, 2011.
3 D. B. Ring, "A Comparison of Sorting Algorithms", http://www.devx.com/vb2themax/Article/19900, 2003.
4 S. Nilson, "The Fastest Sorting Algorithm?", http://drdobs.com/architecture-and-design/184404062, Dr. Dobb's Journal, Vol. 311, pp. 38-45, Apr. 2000.
5 R. Sedgewick, "Algorithms in C, Parts 1-4: Fundamentals, Data Structures, Sorting, Searching", 3rd Ed., Addison-Wesley, 1998.
6 C. A. R. Hoare, "Quicksort", The Computer Journal, Vol. 5, No. 1, pp. 10-16, Mar. 1962.   DOI
7 S. U. Lee, "Quicksort Using Range Pivot," Journal of Korea Society of Computer Information, Vol. 17, No. 4, pp. 139-145, Apr. 2012.   DOI
8 J. W. J. Williams, "Algorithm 232-Heapsort", Communications of the ACM, Vol. 7, No. 6, pp: 347-348, Jun. 1964.
9 D. Carlson and I. Minerd, "Software Design Using C++: Heap and Heapsort", http://cis. stvincent.edu/html/tutorials/swd/heaps/heaps.html, Computing & Information Science Department, Saint Vincent College, 2011.