🤖 AI Summary
This work addresses the performance degradation of dynamic k-d trees under frequent updates due to structural imbalance. The authors systematically propose and implement a novel maintenance strategy based on power-of-two structures: the dynamic tree is organized as a collection of static k-d trees, each of size equal to an integer power of two, accompanied by tailored insertion and deletion algorithms. The study further presents a comparative evaluation against local subtree reconstruction-based rebalancing techniques. Through extensive experiments, the paper quantitatively reveals—for the first time—the performance trade-offs between these two approaches under varying operational workloads, offering empirical guidance for selecting appropriate indexing structures in high-dimensional dynamic settings.
📝 Abstract
Two methods have been proposed for building and modifying a dynamic k-d tree. One method stores the dynamic tree as a single k-d tree and rebalances that tree by rebuilding subtrees within the tree when those subtrees become unbalanced due to insertion of a k-dimensional tuple into the tree or deletion of a tuple from the tree. A second method composes a dynamic tree as a set of static k-d trees whose sizes are increasing integer powers of two; this tree's balance is maintained by rebuilding a static tree within the set upon insertion or deletion of a tuple. This article describes insertion and deletion algorithms for the second method, and compares the performance of the second method to the performance of the first method.