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.
References
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
A.V. Aho, J.E. Hopcroft, J.D. Ullman: Data Structures and Algorithms. Reading, Mass.: Addison-Wesley 1983
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)
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
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
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
C.M. Hoffman, M.J. O'Donnell: Programming with Equations. ACM Transaction on Programming Languages and Systems 4:6, 83–112 (1983)
P. Hudak: Conception, Evolution, and Application of Functional Programming Languages. ACM Computing Surveys 21:3, 359–411 (1989)
D.E. Knuth: The Art of Computer Programming. Vol. 3: Sorting and Searching. Reading, Mass.: Addison-Wesley 1973
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
K. Mehlhorn: Data Structures and Algorithms 1: Sorting and Searching. EATCS Monographs in Theoretical Computer Science. Berlin: Springer 1984
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)
H.A. Partsch: Specification and Transformation of Programs — A Formal Approach To Software Development. Berlin: Springer 1990
C.M.P. Reade: Balanced Trees with Removals: An Exercise in Rewriting and Proof. Science of Computer Programming 18, 181–204 (1992)
R. Sedgewick: Algorithms. Reading, Mass.: Addison-Wesley 1988
Author information
Authors and Affiliations
Editor information
Rights 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