Summary
This paper deals with main memory data structures for which time and space performance are simultaneously considered. The main contribution is a new data structure called Generalised Binary Search Tree (GBS-tree) together with searching and updating algorithms on this structure. GBS-trees generalise different data structures based on binary trees that have appeared in the literature. A k-t GBS-tree allows up to t keys per node and subtrees in the tree's fringe of exactly 2k-1 full nodes are kept balanced. Their time and space performances are analysed in depth. The time performance is expressed in terms of the average and the variance of the number of binary comparisons between a given key and keys already in the structure. The space performance measures both the space used to space generated ratio (space utilization factor) and the pointers to keys ratio of these trees. The analysis shows that the time performance always improves when GBS-trees of higher order are considered. In the absence of balancing techniques, larger values of t, which produces smaller pointers to key ratios, induce unacceptably poor space utilizations factors. We show that both pointers to keys ratio and space utilization factor improve when larger values of k are used. Thus, local balancing techniques are adequate, not only for time performance improvement, but also, for space performance improvement.
Similar content being viewed by others
References
Adel'son-Vel'skii, G.M., Landins, E.M.: An Algorithm for the Organization of Information. Doklady Akademia Nauk USSR 146, 263–266 (1962)
Bell, C.J.: An Investigation into the Principles of the Classification and Analysis on an Automatic Digital Computer. Doctoral Thesis, Leeds University 1965
Bentley, J.L.: Multidimensional Binary Search Trees Use for Associative Searching. Commun ACM 18, 509–517 (1975)
Cunto, W., Lau, G.: Generalised Multidimensional Trees. TECH-REP CSC 87-02 Centro Cientifico IBM de Venezuela
Eisenbarth, B., Ziviani, N., Gonnet, G.H., Melhorn, K., Wood, D.: The Theory of Fringe Analysis and its Application to 2–3 Trees and B-trees. Inf. Control 55, 125–174 (1984)
Gonnet, G.H.: Balancing Binary Trees by Internal Path Reduction. Commun. ACM 26, 1074–1081 (1983)
Gonnet, G.H.: Handbook of Algorithms and Data Structures. Reading, MA.: Addison Wesley 1984
Knuth, D.E.: The Art of Computer Programming, Vol. I. Fundamental Algorithms. 2nd Ed. Reading, MA.: Addison Wesley 1973
Knuth, D.E.: The Art of Computer Programming, Vol. III. Sorting and Searching, Reading, MA.: Addison Wesley 1973
Kuspert, K.: Storage Utilization in B-trees with a Generalized Overflow Technique. Acta Inf. 19, 33–55 (1983)
Nievergelt, J.: Binary Search Trees of Bounded Balance. SIAM J. Comput. 2, 33–43 (1973)
Poblete, P.V.: Fringe Tecniques for Binary Search Trees. Ph. D. Thesis, C.S. Dept., University of Waterloo 1982
Poblete, P.V., Munro J.I.: The Analysis of a Fringe Heuristic for Binary Search Trees. J. Algorithms 6, 336–350 (1985)
Walker, A., Wood, D.: Locally Balanced Binary Trees. Comput. J. 19, 322–325 (1976)
Yao, A.: On Random 2–3 Trees. Acta Inf. 9, 159–170 (1978)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Cunto, W., Gascon, J.L. Improving time and space efficiency in generalized binary search trees. Acta Informatica 24, 583–594 (1987). https://doi.org/10.1007/BF00263296
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/BF00263296