Skip to main content

Trees as data and file structures

  • Invited Lectures
  • Conference paper
  • First Online:
CAAP '81 (CAAP 1981)

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

Included in the following conference series:

Abstract

Trees have been important data structures since the mid-fifties when the first list processing applications and languages were developed. When Knuth systematized the accumulated knowledge about data structures in his 1968 book on Fundamental Algorithms, he devoted half the space to tree structures. During the seventies, data structures based on trees were extended to files on secondary storage and to multidimensional problems such as multi-key access. Trees also became the dominant data structure for many algorithms in the field of concrete complexity, because they are the only structures known that guarantee an O(log n) worst case bound on sequential and random access, insertion and deletion on linearly ordered sets. Recent events indicate, however, that in the coming decade the predominance of trees as all-round data structures may be challenged by address computation techniques. Various refinements and generalizations of the old programming trick called hashing have caused an unexpected extension of the domain of applicability of address computation techniques to dynamic files and multi-key access.

This paper surveys the history of data structures used for tables, files or record management systems: structures designed for efficient retrieval, insertion and deletion of single records characterized by key values chosen from linearly ordered sets. By describing a few milestones and highlights, I attempt to identify trends and speculate on future developments.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A. V., Hopcroft, J. E. and Ullman, J. D. The design and analysis of computer algorithms, Addison-Wesley, 1974.

    Google Scholar 

  2. Adelson-Velskii, G. M. and Landis, Ye. M. An algorithm for the organization of information (in Russian), Dokl. Akad. Nauk SSSR, Vol 146, 263–266, 1962.

    Google Scholar 

  3. Amble, O. and Knuth, D. E. Ordered hash tables, Computer J., Vol 18, 135–142, 1975.

    Google Scholar 

  4. Bentley, J. L. Decomposable searching problems, Inform. Proc. Letters, Vol 8, No 5, 244–251, 1979.

    Google Scholar 

  5. Bentley, J. L. Multidimensional binary search trees in database applications IEEE Trans. Software Engr., Vol 5, No 4, 333–340, July 1979.

    Google Scholar 

  6. Bayer, R. and McCreight, E. M. Organization and maintenance of large ordered indexes, Acta Informatica, Vol 1, 173–189, 1972.

    Google Scholar 

  7. Bayer, R. and Schkolnick, M. Concurrency of operations on B-trees, Acta Informatica, Vol 9, 1–21, 1977.

    Google Scholar 

  8. Blum, N. and Mehlhorn, K. On the average number of rebalancing operations in weight-balanced trees, Theor. Comp. Sci, 1978.

    Google Scholar 

  9. Carter, J. L. and Wegman, M. Universal classes of hash functions, Report RC 6687, IBM Yorktown Heights, 1977.

    Google Scholar 

  10. Cichelli, R. J. Minimal perfect hash functions made simple, Comm. ACM, Vol 23, No 1, 17–19, Jan 1980.

    Google Scholar 

  11. Comer, D. The ubiquitous B-tree, ACM Computing Surveys, Vol 11, No 2, 121–138, June 1979.

    Google Scholar 

  12. Edelsbrunner, H. and van Leeuwen, J. Multidimensional algorithms and data structures (Bibliography) Bulletin of the EATCS, 1980.

    Google Scholar 

  13. Fagin, R., Nievergelt, J., Pippenger, N., and Strong, H. R., Extendible hashing — a fast access method for dynamic files, ACM Trans. Database Systems, Vol 4, No 3, 315–344, Sep 1979.

    Google Scholar 

  14. Fredkin, E. Trie memory, Comm. ACM, Vol 3, 490–500, 1960.

    Google Scholar 

  15. Goldstine, H. H. and von Neumann, J. Planning and coding of problems for an electronic computing instrument, Part II, Vol 1, 1947; reprinted in A. H. Taub (ed.), “John von Neumann — Collected Works“, Vol 5, Pergamon Press, 1963.

    Google Scholar 

  16. Guibas, L. and Sedgewick, R. A dichromatic framework for balanced trees, Proc. 19-th Annual Symp. Found. of Computer Sci., 8–21, IEEE, 1978.

    Google Scholar 

  17. Hinterberger, H. and Nievergelt, J., Concurrent access control in extendible hash files, (submitted)

    Google Scholar 

  18. Knuth, D. E. The art of computer programming, Addison-Wesley, Vol 1, Fundamental Algorithms, 1968, Vol 3, Sorting and Searching, 1973.

    Google Scholar 

  19. Kung, H. T. and Lehman, P. L. Concurrent manipulation of binary search trees, ACM Trans. Database Sys, Vol 5, No 3, 354–382, Sep 1980.

    Google Scholar 

  20. Larson, P. Dynamic hashing, BIT, Vol 18, 184–201, 1978.

    Google Scholar 

  21. Larson, P. Linear hashing with partial expansions, Proc. 6-th Conf. on Very Large Databases, Montreal, Oct 1980.

    Google Scholar 

  22. van Leeuwen, J. and Maurer, H. A. Dynamic systems of static data structures, Univ. Graz, Institut Informationsver. Report 42, Jan 1980.

    Google Scholar 

  23. Litwin, W. Virtual hashing: a dynamically changing hashing, Proc. 4-th Conf. Very Large Databases, Berlin, 1978, 517–523.

    Google Scholar 

  24. Litwin, W. Linear hashing: a new tool for file and table addressing, Proc. 6-th Conf. on Very Large Databases, Montreal, Oct 1980.

    Google Scholar 

  25. McCreight, E. M. Efficient algorithms for enumerating intersecting intervals and rectangles, XEROX PARC Report CSL-80-9, 1980.

    Google Scholar 

  26. Mehlhorn, K. Arbitrary weight changes in dynamic trees, RAIRO, Th CS

    Google Scholar 

  27. Mehlhorn, K. Lower bounds on the efficiency of static to dynamic transforms of data structures, Univ. Saarland Report 1980.

    Google Scholar 

  28. Nievergelt, J. and Reingold, E. M. Binary search trees of bounded balance, SIAM J. Computing, Vol 2, No 1, 33–43, Mar 1973.

    Google Scholar 

  29. Nievergelt, J. Binary search trees and file organization, ACM Computing Surveys, Vol 6, No 3, 195–207, Sep 1974.

    Google Scholar 

  30. Nievergelt, J., Seveik, K. and Hinterberger, H. The grid file: a dynamic multikey access structure, (in preparation)

    Google Scholar 

  31. Newell, A. and Simon, H. A. The logic theory machine — A complex information processing system, IRE Trans. Information Theory, Vol. IT-2, No 3, 61–79, Sep 1956.

    Google Scholar 

  32. Olivie', H. J. Half-balanced binary search trees, Report 81-01, IHAM, B-2000 Antwerp, 1981.

    Google Scholar 

  33. Rosenberg, A. L. Storage mappings for extendible arrays, in R. T. Yeh (ed.), Current Trends in Programming Methodology, Vol IV: Data Structuring, Ch 10, Prentice-Hall 1978.

    Google Scholar 

  34. Saxe, J. B. and Bentley, J. L. Transforming static data structures to dynamic structures, 20-th IEEE Symp. Foundations of Computer Scsi., 148–168, 1979.

    Google Scholar 

  35. Sprugnoli, R. Perfect hashing functions: a single probe retrieving method for static sets, Comm. ACM, Vol 20, No 11, 841–850, Nov 1977.

    Google Scholar 

  36. Tarjan, R. E. and Yao, A. C.-C. Storing a sparse table, Comm. ACM, Vol 22, No 11, 606–611, Nov 1979.

    Google Scholar 

  37. Warnock, J. E. A hidden-surface algorithm for computer generated half-tone pictures, Univ. Utah, Dept. Computer Sci. TR 4–15, 1969.

    Google Scholar 

  38. Willard, D. E. Balanced forests of h-d trees as a dynamic data structure, Harvard Univ., Aiken Computer Lab Report TR-23, 1978.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Egidio Astesiano Corrado Böhm

Rights and permissions

Reprints and permissions

Copyright information

© 1981 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Nievergelt, J. (1981). Trees as data and file structures. In: Astesiano, E., Böhm, C. (eds) CAAP '81. CAAP 1981. Lecture Notes in Computer Science, vol 112. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-10828-9_53

Download citation

  • DOI: https://doi.org/10.1007/3-540-10828-9_53

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-10828-3

  • Online ISBN: 978-3-540-38716-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics