This paper is a practical study of how to implement the Quicksort sorting algorithm and its best variants on real computers, including how to apply various code optimization techniques. A detailed implementation combining the most effective improvements to Quicksort is given, along with a discussion of how to implement it in assembly language. Analytic results describing the performance of the programs are summarized. A variety of special situations are considered from a practical standpoint to illustrate Quicksort's wide applicability as an internal sorting method which requires negligible extra storage.
%0 Journal Article
%1 sedgewick1978implementing
%A Sedgewick, Robert
%C New York, NY, USA
%D 1978
%I ACM
%J Commun. ACM
%K kdesems2013 quicksort seminar sorting
%N 10
%P 847--857
%R 10.1145/359619.359631
%T Implementing Quicksort programs
%U http://doi.acm.org/10.1145/359619.359631
%V 21
%X This paper is a practical study of how to implement the Quicksort sorting algorithm and its best variants on real computers, including how to apply various code optimization techniques. A detailed implementation combining the most effective improvements to Quicksort is given, along with a discussion of how to implement it in assembly language. Analytic results describing the performance of the programs are summarized. A variety of special situations are considered from a practical standpoint to illustrate Quicksort's wide applicability as an internal sorting method which requires negligible extra storage.
@article{sedgewick1978implementing,
abstract = {This paper is a practical study of how to implement the Quicksort sorting algorithm and its best variants on real computers, including how to apply various code optimization techniques. A detailed implementation combining the most effective improvements to Quicksort is given, along with a discussion of how to implement it in assembly language. Analytic results describing the performance of the programs are summarized. A variety of special situations are considered from a practical standpoint to illustrate Quicksort's wide applicability as an internal sorting method which requires negligible extra storage.},
acmid = {359631},
added-at = {2014-10-02T23:51:20.000+0200},
address = {New York, NY, USA},
author = {Sedgewick, Robert},
biburl = {https://www.bibsonomy.org/bibtex/2afad926399892172416b18c7a996f647/seboettg},
description = {Implementing Quicksort programs},
doi = {10.1145/359619.359631},
interhash = {9a4a22f5ef011caa82c52462824cf636},
intrahash = {afad926399892172416b18c7a996f647},
issn = {0001-0782},
issue_date = {Oct. 1978},
journal = {Commun. ACM},
keywords = {kdesems2013 quicksort seminar sorting},
month = oct,
number = 10,
numpages = {11},
pages = {847--857},
publisher = {ACM},
timestamp = {2014-10-02T23:51:20.000+0200},
title = {Implementing Quicksort programs},
url = {http://doi.acm.org/10.1145/359619.359631},
volume = 21,
year = 1978
}