The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
An empirical study of insertion and deletion in binary search trees
Communications of the ACM
Efficient algorithms to globally balance a binary search tree
Communications of the ACM
Multidimensional binary search trees used for associative searching
Communications of the ACM
Optimizing binary trees grown with a sorting algorithm
Communications of the ACM
An insertion algorithm for a minimal internal path length binary search tree
Communications of the ACM
A compendium of key search references
ACM SIGIR Forum
Uncoupling updating and rebalancing in chromatic binary search trees
PODS '91 Proceedings of the tenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Fringe analysis of binary search trees with miniml internal path length
CSC '91 Proceedings of the 19th annual conference on Computer Science
A new method for updating and rebalancing tree-type main memory dictionaries
Nordic Journal of Computing
One-time binary search tree balancing: the Day/Stout/Warren (DSW) algorithm
ACM SIGCSE Bulletin
Hi-index | 48.24 |
A simple algorithm is given which takes an arbitrary binary search tree and rebalances it to form another of optimal shape, using time linear in the number of nodes and only a constant amount of space (beyond that used to store the initial tree). This algorithm is therefore optimal in its use of both time and space. Previous algorithms were optimal in at most one of these two measures, or were not applicable to all binary search trees. When the nodes of the tree are stored in an array, a simple addition to this algorithm results in the nodes being stored in sorted order in the initial portion of the array, again using linear time and constant space.