Skip to main content

Calculating a functional module for binary search trees

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1268))

Abstract

We formally derive a functional module for binary search trees comprising search, insert, delete, minimum and maximum operations. The derivation starts from an extensional specification that refers only to the multiset of elements stored in the tree. The search tree property is systematically derived as an implementation requirement.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G.M. Adelson-Velskii, Y.M. Landis: An Algorithm For the Organisation of Information. Doklady Akademia Nauk SSR 146, 263–266 (1962). English translation:Soviet Math. 3, 1259–1263

    Google Scholar 

  2. A.V. Aho, J.E. Hopcroft, J.D. Ullman: Data Structures and Algorithms. Reading, Mass.: Addison-Wesley 1983

    Google Scholar 

  3. F.L. Bauer, B. Möller, H. Partsch, P. Pepper: Formal Program Construction by Transformations — Computer-aided, Intuition-guided Programming. IEEE Transactions on Software Engineering 15, 165–180 (1989)

    Google Scholar 

  4. R. Bird: Lectures on Constructive Functional Programming. In: M. Broy (ed.):Constructive Methods in Computer Science. NATO ASI Series F: Computer and Systems Sciences 55. Berlin: Springer 1989, 151–216

    Google Scholar 

  5. T.H. Cormen, C.E. Leiserson, R.L. Rivest: Introduction to Algorithms. The MIT Electrical Engineering and Computer Science Series. Cambridge, Mass.:M.I.T. Press/New York: McGraw-Hill 1990

    Google Scholar 

  6. M. Feather: A Survey and Classification of Some Program Transformation Approaches and Techniques. In: L.G.L.T. Meertens (ed.): Proceeding of the IFIP TC2/WG2.1 Working Conference on Program Sepcification and Transformation. Amsterdam: North-Holland 1987, 165–196

    Google Scholar 

  7. C.M. Hoffman, M.J. O'Donnell: Programming with Equations. ACM Transaction on Programming Languages and Systems 4:6, 83–112 (1983)

    Google Scholar 

  8. P. Hudak: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21:3, 359–411 (1989)

    Google Scholar 

  9. D.E. Knuth: The Art of Computer Programming. Vol. 3: Sorting and Searching. Reading, Mass.: Addison-Wesley 1973

    Google Scholar 

  10. L.G.L.T. Meertens: Algorithmics — Towards Programming as a Mathematical Activity. Proceedings CWI Symposium on Mathematics and Computer Science. CWI Monographs Vol. 1. Amsterdam: North-Holland 1986, 289–334

    Google Scholar 

  11. K. Mehlhorn: Data Structures and Algorithms 1: Sorting and Searching. EATCS Monographs in Theoretical Computer Science. Berlin: Springer 1984

    Google Scholar 

  12. B. Möller: Calculating with pointer structures. In: R. Bird, L. Meertens (eds.): Algorithmic Languages and Calculi. Proc. IFIP TC2/WG2.1 Working Conference, Le Bischenberg, Feb. 1997. Chapman&Hall 1997 (to appear)

    Google Scholar 

  13. H.A. Partsch: Specification and Transformation of Programs — A Formal Approach To Software Development. Berlin: Springer 1990

    Google Scholar 

  14. C.M.P. Reade: Balanced Trees with Removals: An Exercise in Rewriting and Proof. Science of Computer Programming 18, 181–204 (1992)

    Google Scholar 

  15. R. Sedgewick: Algorithms. Reading, Mass.: Addison-Wesley 1988

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Werner Kluge

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dosch, W., Möller, B. (1997). Calculating a functional module for binary search trees. In: Kluge, W. (eds) Implementation of Functional Languages. IFL 1996. Lecture Notes in Computer Science, vol 1268. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63237-9_30

Download citation

  • DOI: https://doi.org/10.1007/3-540-63237-9_30

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63237-5

  • Online ISBN: 978-3-540-69239-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics