## A Note on Synthesis and Classification of Sorting Algorithms (1989)

Venue: | Acta Informatica |

Citations: | 7 - 4 self |

### BibTeX

@ARTICLE{Lau89anote,

author = {K. K. Lau},

title = {A Note on Synthesis and Classification of Sorting Algorithms},

journal = {Acta Informatica},

year = {1989},

volume = {27},

pages = {73--80}

}

### Years of Citing Articles

### OpenURL

### Abstract

this paper, and the referees for their very helpful comments and constructive suggestions which greatly improved an earlier version of this paper. References

### Citations

1570 |
Discipline of Programming
- Dijkstra
- 1976
(Show Context)
Citation Context ...hms can therefore be represented by the tree shown in Figure 4 which is essentially identical to Clark & Darlington's tree. In [7] Dromey uses Dijkstra's constructive weakest pre-condition technique (=-=[6]-=-) to derive sorting algorithms from a specification in the form of a pair of pre- and post-conditions. By manipulating it in different ways, the post-condition may be sort sort sort sort sort sort qui... |

618 | J.A.: Transformation System for Developing Recursive Programs
- Burstall, Darlington
- 1977
(Show Context)
Citation Context ...own in Figure 1. This tree represents a synthesis of these algorithms by program transformation on recursion equations, the key transformation rule being the fold-unfold rule of Burstall & Darlington =-=[3]-=- and Manna & Waldinger [13]. Starting from a common definition P of permutation of a sequence, two different ways, P 1 and P 2 , of computing permutations of a sequence are derived, which in turn lead... |

398 |
The Art of Computer Programming, Vol. 3: Sorting and Searching
- Knuth
- 1973
(Show Context)
Citation Context ...p-down fashion on a semi-automated logic programming system. 1 Introduction Traditionally, sorting algorithms are classified according to their main operational characteristic. Standard works such as =-=[11]-=- and [14] group them under headings like sorting by insertion, sorting by selection, and sorting by partitioning, etc. A more recent approach is based on program synthesis whereby an algorithm is deri... |

154 |
Data Structures and Algorithms 1: Sorting and Searching
- Mehlhorn
- 1984
(Show Context)
Citation Context ...shion on a semi-automated logic programming system. 1 Introduction Traditionally, sorting algorithms are classified according to their main operational characteristic. Standard works such as [11] and =-=[14]-=- group them under headings like sorting by insertion, sorting by selection, and sorting by partitioning, etc. A more recent approach is based on program synthesis whereby an algorithm is derived from ... |

62 |
Top-down synthesis of divide-andconquer algorithms
- Smith
- 1985
(Show Context)
Citation Context ... can in fact be made symmetric, as Barstow points out in [1]. This is due to the fact that they derive bubble sort and sinking sort as "in-place" versions of selection sort and insertion sor=-=t . Smith [15, 16]-=- describes a method for synthesising divide-and-conquer algorithms by top-down decomposition of specifications into subproblem specifications, followed by bottom-up composition of (concrete) programs ... |

44 |
A Synthesis of Several Sorting Algorithms
- Darlington
(Show Context)
Citation Context ...previous work in the synthesis and classification of sorting algorithms. Then we outline our own work in this area, and finally compare our results with the others. 2 Brief Survey of Previous Work In =-=[5]-=-, Darlington presents a family tree of six sorting algorithms, as shown in Figure 1. This tree represents a synthesis of these algorithms by program transformation on recursion equations, the key tran... |

41 |
Synthesis: dreams → programs
- Manna, Waldinger
- 1979
(Show Context)
Citation Context ... represents a synthesis of these algorithms by program transformation on recursion equations, the key transformation rule being the fold-unfold rule of Burstall & Darlington [3] and Manna & Waldinger =-=[13]-=-. Starting from a common definition P of permutation of a sequence, two different ways, P 1 and P 2 , of computing permutations of a sequence are derived, which in turn lead to quick sort and selectio... |

38 |
A taxonomy of parallel sorting
- Bitton, DeWitt, et al.
- 1984
(Show Context)
Citation Context ... d-list used by Hansson & Tarnlund in [9].) The top-level specification for this will also be specialised, and from the new specification, we can derive many block or parallel sorting algorithms (see =-=[2]-=- for instance) based on the data partitioning algorithms that have already been synthesised. For instance, we have synthesised the external merge algorithm and a block bubble sort algorithm. Clearly, ... |

25 |
On program synthesis knowledge
- Green, Barstow
- 1978
(Show Context)
Citation Context ...path leads to quick sort and selection sort , and the second merge sort and insertion sort respectively. Not surprisingly, their derivation tree exhibits the same symmetry as that in Darlington's. In =-=[8]-=-, Green and Barstow present some of the knowledge base of facts and rules used by their system for automatic program construction. They demonstrate the synthesis of programs for the same six sorting a... |

17 |
Algorithm classification through synthesis
- Clark, Darlington
- 1980
(Show Context)
Citation Context ... for this synthesis of these six algorithms therefore exhibits a symmetry in the first four algorithms (thus reflecting a symmetry in their relationships), but not in the last two. Clark & Darlington =-=[4]-=- derive the same four algorithms that correspond to P 1 and P 2 . They use similar program transformation rules, but adopt an informal (firstorder) predicate logic notation for programs. Their synthes... |

12 |
The design of divide and conquer algorithms
- Smith
- 1985
(Show Context)
Citation Context ... can in fact be made symmetric, as Barstow points out in [1]. This is due to the fact that they derive bubble sort and sinking sort as "in-place" versions of selection sort and insertion sor=-=t . Smith [15, 16]-=- describes a method for synthesising divide-and-conquer algorithms by top-down decomposition of specifications into subproblem specifications, followed by bottom-up composition of (concrete) programs ... |

9 |
Program transformation by data structure mapping
- Hansson, Tärnlund
- 1982
(Show Context)
Citation Context ...e data from list to list of ordered lists, which we call b-list , or blocklists, each member (ordered) list being called a block . (This idea is borrowed from the d-list used by Hansson & Tarnlund in =-=[9]-=-.) The top-level specification for this will also be specialised, and from the new specification, we can derive many block or parallel sorting algorithms (see [2] for instance) based on the data parti... |

8 |
A Class of Sorting Algorithms Based on Quicksort
- Wainwright
- 1985
(Show Context)
Citation Context ...which can be derived directly from the specifications). Similarly, we have synthesised another quick sort algorithm which does not sort a partition if it is already ordered, viz. the Bsort algorithm (=-=[17]-=-). Moving back up one level, we could partition a by value by choosing the first partition e to be empty, and the second partition f a singleton list (i.e. we partition a into [f ] and one other subli... |

4 |
Remarks on "A synthesis of several sorting algorithms
- Barstow
- 1980
(Show Context)
Citation Context ...s or simply at a position determined by the sizes of the subsets. Their top-down analysis reveals that the asymmetric part of Darlington's tree can in fact be made symmetric, as Barstow points out in =-=[1]. This is -=-due to the fact that they derive bubble sort and sinking sort as "in-place" versions of selection sort and insertion sort . Smith [15, 16] describes a method for synthesising divide-and-conq... |

4 |
Derivation of sorting algorithms from a specification
- Dromey
- 1987
(Show Context)
Citation Context ...espectively for composing the output list. His synthesis of these algorithms can therefore be represented by the tree shown in Figure 4 which is essentially identical to Clark & Darlington's tree. In =-=[7]-=- Dromey uses Dijkstra's constructive weakest pre-condition technique ([6]) to derive sorting algorithms from a specification in the form of a pair of pre- and post-conditions. By manipulating it in di... |

4 |
Synthesis of logic programs for recursive sorting algorithm
- Lau, Prestwich
- 1988
(Show Context)
Citation Context ...rithms. His tree, shown in Figure 5, is therefore the traditional one. 3 Our Synthesis and Classification We have a derivation tree for more sorting algorithms, as shown in Figure 6. In our work (see =-=[12]-=- for details), the synthesis is done on a semi-automated logic programming system which produces a recursive logic procedure from its given (first-order) logic specification. (We have synthesised all ... |