## A Logical Inverted Taxonomy of Sorting Algorithms (1997)

Citations: | 1 - 0 self |

### BibTeX

@MISC{Merritt97alogical,

author = {S. M. Merritt and K. K. Lau},

title = {A Logical Inverted Taxonomy of Sorting Algorithms},

year = {1997}

}

### OpenURL

### Abstract

Sorting is still one of the most important problems in Computer Science. Work in transformational programming and automatic program synthesis provided the insight that led to Merritt's inverted taxonomy of sorting algorithms, a high-level, top-down, conceptually simple and symmetric categorization of sorting algorithms. More recent work in logic-based program synthesis by Lau has produced a logical taxonomy of sorting algorithms. This provides a logical basis for the inverted taxonomy and expands it into a logical inverted taxonomy to include distributive sorting algorithms which can be derived along with comparison-based algorithms. The inclusion of distributive algorithms into a unified conceptual framework is new and significant for a comprehensive perspective on sorting algorithms. In this paper, we describe both the inverted and the logical taxonomies and show how the latter strengthens the latter and expands it into a logical inverted taxonomy of sorting algorithms, a highlevel...

### Citations

2564 |
h~ Design and Analysis of Computer Algorithms
- Hopcroft, Ullman
- 1974
(Show Context)
Citation Context ...in (0,1,2,3) (4,5,6,7) sort sort Figure 5: Distribution sort and radix exchange sort. Other distributive sorting algorithms can be understood as generalizations of the distribution sort. Bucket sort (=-=Aho et al 1974-=-) is a distribution sort that is not binary. For example, decimal numbers can be sorted with ten buckets; items are distributed to buckets without compares, and then collected from left to right. Mult... |

60 | Top-down synthesis of divide-and-conquer algorithms - Smith - 1985 |

43 |
A synthesis of several sorting algorithms
- Darlington
- 1978
(Show Context)
Citation Context ...of sorting algorithms. 2 The Inverted Taxonomy of Sorting Algorithms The alternative taxonomy proposed in (Merritt 1985) was inspired by the work in program synthesis in (Clark and Darlington 1980), (=-=Darlington 1978-=-), (Green and Barstow 1978), and (Barstow 1980). The basis of this classification is to recognize sorting as a `split' and `join' procedure: given a set of things to sort, split the set into two parts... |

24 |
On program synthesis knowledge
- Green, Barstow
- 1978
(Show Context)
Citation Context ...ms. 2 The Inverted Taxonomy of Sorting Algorithms The alternative taxonomy proposed in (Merritt 1985) was inspired by the work in program synthesis in (Clark and Darlington 1980), (Darlington 1978), (=-=Green and Barstow 1978-=-), and (Barstow 1980). The basis of this classification is to recognize sorting as a `split' and `join' procedure: given a set of things to sort, split the set into two parts; recursively sort each pa... |

20 |
Top-down synthesis of recursive logic procedures from logic speci
- Lau, Prestwich
- 1990
(Show Context)
Citation Context ... set of definition formulas, the method can derive different sets of logic clauses, i.e. different sorting algorithms, by logical deduction. The derivation is performed on a logic programming system (=-=Lau and Prestwich 1990-=-) under user-guidance. For each derivation, the user can specify the form of the resulting clauses, in particular the form(s) of the recursive call(s). Thus by specifying different forms for the claus... |

16 |
Algorithm classification through synthesis
- Clark, Darlington
- 1980
(Show Context)
Citation Context ... 1: The traditional taxonomy of sorting algorithms. 2 The Inverted Taxonomy of Sorting Algorithms The alternative taxonomy proposed in (Merritt 1985) was inspired by the work in program synthesis in (=-=Clark and Darlington 1980-=-), (Darlington 1978), (Green and Barstow 1978), and (Barstow 1980). The basis of this classification is to recognize sorting as a `split' and `join' procedure: given a set of things to sort, split the... |

12 |
Sorting by distributive partition
- Dobosiewicz
- 1978
(Show Context)
Citation Context ...tributive (in order to achieve linear expected time), but that invoke a comparison sort as a second phase (in order to insure O(nlogn) worst case time). One such algorithm, distributive partitioning (=-=Dobosiewicz 1978-=-) uses quicksort as the second-phase sort. A variation on distributive partitioning, sometimes called distributive merging (Van der Nat 1980), uses merge sort. The hybrids can be placed easily in the ... |

7 | A Note on Synthesis and Classification of Sorting Algorithms - Lau - 1989 |

7 |
An Inverted Taxonomy of Sorting Algorithms
- Merritt
- 1985
(Show Context)
Citation Context ...pted as standard even though we have become much more serious about top-down design, structured programming, highlevel programming languages, algorithm design techniques and software engineering. In (=-=Merritt 1985-=-), Merritt noted the irony that sorting, a classic problem in computer science (and in programming in particular) continues to be understood and presented in such a bottom-up manner. More importantly,... |

6 | Top-down synthesis of sorting algorithms - Lau - 1992 |

5 | The design of divide-and-conquer algorithms - Smith - 1985 |

4 |
Remarks on "A synthesis of several sorting algorithms
- Barstow
- 1980
(Show Context)
Citation Context ... Sorting Algorithms The alternative taxonomy proposed in (Merritt 1985) was inspired by the work in program synthesis in (Clark and Darlington 1980), (Darlington 1978), (Green and Barstow 1978), and (=-=Barstow 1980-=-). The basis of this classification is to recognize sorting as a `split' and `join' procedure: given a set of things to sort, split the set into two parts; recursively sort each part; and finally join... |

4 | Derivation of sorting algorithms from a specification - Dromey - 1987 |

2 |
Advanced Programming and Problem Solving with Pascal
- Schneider, Bruell
- 1981
(Show Context)
Citation Context ...tively. These observations lead to the inverted taxonomy shown in Figure 3. Since their publication in (Merritt 1985), these observations have been incorporated into at least one elementary textbook (=-=Schneider and Bruell 1987-=-). Also, since then, new work in deriving sorting algorithms in a top-down manner by logical deduction has provided the inverted taxonomy with a logical basis and expanded it. SORT by easysplit/hardjo... |

1 | The Role of High Level Specification in Programming by Transformation: Specification and Transformation by Parts - Merritt - 1982 |