Summary
Sorting algorithms are traditionally classified according to their main operational characteristic. More recently, program synthesis has been used as a basis for classification. We briefly survey previous work in the synthesis and classification of sorting algorithms, and outline a more comprehensive scheme derived by synthesising many sorting algorithms in a top-down fashion on a semi-automated logic programming system.
Similar content being viewed by others
References
Barstow, D.R.: Remarks on “a synthesis of several sorting algorithms” by John Darlington. Acta Inf. 13, 225–227 (1980)
Bitton, D., De Witt, D.J., Hsiao, D.K., Menon, J.: A taxonomy of parallel sorting. Comput. Sur. 16, 289–318 (1984)
Burstall, R.M., Darlington, J.: A transformation system for developing recursive programs. J. ACM 24, 44–67 (1977)
Clark, K.L., Darlington, J.: Algorithm classification through synthesis. Comput. J. 23, 61–65 (1980)
Darlington, J.: A synthesis of several sorting algorithms. Acta Inf. 11, 1–30 (1978)
Dijkstra, E.W.: A discipline of programming. Englewood Cliffs, N.J.: Prentice-Hall 1976
Dromey, R.G.: Derivation of sorting algorithms from a specification. Comput. J. 30, 512–518 (1987)
Green, C., Barstow, D.: On program synthesis knowledge. Arti. Intell. 10, 241–279 (1978)
Hansson, A., Tärnlund, S.A.: Program transformation by data structure mapping. In: Clark, K.L., Tärnlund, S.A. (eds.) Logic Programming, pp. 117–122. London: Academic Press 1982
Hoare, C.A.R.: Quicksort. Comput. J. 5, 10–15 (1962)
Knuth, D.E.: The art of computer programming, Vol. 3: Sorting and searching. Reading: Addison-Wesley 1973
Lau, K.K., Prestwich, S.D.: Synthesis of logic programs for recursive sorting algorithms. Technical Report UMCS-88-10-1, Department of Computer Science, University of Manchester, October 1988
Manna, Z., Waldinger, R.: Synthesis: Dreams ⇒ programs. IEEE Trans. Soft. Eng. 5, 294–328 (1979)
Mehlhorn, K.: Data structures and algorithms 1: Sorting and searching. Berlin Heidelberg New York Tokyo: Springer 1984
Smith, D.R.: Top-down synthesis of divide-and-conquer algorithms. Arti. Intell. 27, 43–96 (1985)
Smith, D.R.: The design of divide and conquer algorithms. Sci. Comput. Program. 5, 37–58 (1985)
Wainwright, R.L.: A class of sorting algorithms based on quicksort. Comm. ACM 28, 396–402 (1985)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Lau, K.K. A note on synthesis and classification of sorting algorithms. Acta Informatica 27, 73–80 (1989). https://doi.org/10.1007/BF00263502
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00263502