Should Static Search Trees Ever Be Unbalanced?
Prosenjit Bose, Karim Dou\"ieb

TL;DR
This paper investigates whether static search trees should be unbalanced and introduces methods to restructure unbalanced trees into nearly optimal balanced trees with comparable average access times and improved worst-case performance.
Contribution
The paper presents novel methods to convert unbalanced static search trees into balanced trees with minimal increase in access time and near-optimal height.
Findings
Balanced trees have similar average access time as unbalanced trees.
Rebalanced trees have worst-case height within one of the optimal.
Rebalancing improves worst-case access time significantly.
Abstract
In this paper we study the question of whether or not a static search tree should ever be unbalanced. We present several methods to restructure an unbalanced k-ary search tree into a new tree that preserves many of the properties of while having a height of which is one unit off of the optimal height. More specifically, we show that it is possible to ensure that the depth of the elements in is no more than their depth in plus at most . At the same time it is possible to guarantee that the average access time in tree is no more than the average access time in tree plus . This suggests that for most applications, a balanced tree is always a better option than an unbalanced one since the balanced tree has similar average access time and much better worst case access time.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAlgorithms and Data Compression · Complexity and Algorithms in Graphs · Advanced Graph Theory Research
