Abstract
An alternative taxonomy (to that of Knuth and others) of sorting algorithms is proposed. It emerges naturally out of a top-down approach to the derivation of sorting algorithms. Work done in automatic program synthesis has produced interesting results about sorting algorithms that suggest this approach. In particular, all sorts are divided into two categories: hardsplit/easyjoin and easysplit/hardjoin. Quicksort and merge sort, respectively, are the canonical examples in these categories. Insertion sort and selection sort are seen to be instances of merge sort and quicksort, respectively, and sinking sort and bubble sort are in-place versions of insertion sort and selection sort. Such an organization introduces new insights into the connections and symmetries among sorting algorithms, and is based on a higher level, more abstract, and conceptually simple basis. It is proposed as an alternative way of understanding, describing, and teaching sorting algorithms.
Publisher
Association for Computing Machinery (ACM)
Reference7 articles.
1. Horowitz E. and Sahni. S. Fundamentals of Computer Algorithms. Computer Science Press Rockville. Md. 1978. Horowitz E. and Sahni. S. Fundamentals of Computer Algorithms. Computer Science Press Rockville. Md. 1978.
Cited by
11 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Correctness-by-Construction $$\wedge $$ Taxonomies $$\Rightarrow $$ Deep Comprehension of Algorithm Families;Leveraging Applications of Formal Methods, Verification and Validation: Foundational Techniques;2016
2. A method for taxonomy development and its application in information systems;European Journal of Information Systems;2013-05
3. Object-oriented algorithm analysis and design with Java;Science of Computer Programming;2005-01
4. Design patterns for sorting;ACM SIGCSE Bulletin;2001-03
5. Design patterns for sorting;Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education - SIGCSE '01;2001