We revisit self-adjusting external memory tree data structures, which combine the optimal (and practical) worst-case I/O performances of B-trees, while adapting to the online distribution of queries. Our approach is analogous to undergoing efforts in the BST model, where Tango Trees (Demaine et al. 2007) were shown to be $O(\log\log N)$-competitive with the runtime of the best offline binary search tree on every sequence of searches. Here we formalize the B-Tree model as a natural generalization of the BST model. We prove lower bounds for the B-Tree model, and introduce a B-Tree model data structure, the Belga B-tree, that executes any sequence of searches within a $O(\log \log N)$ factor of the best offline B-tree model algorithm, provided $B=\log^{O(1)}N$. We also show how to transform any static BST into a static B-tree which is faster by a $\Theta(\log B)$ factor; the transformation is randomized and we show that randomization is necessary to obtain any significant speedup.
翻译:我们重新审视自我调整的外部记忆树数据结构,这种结构结合了B-树的最佳(和实用)最坏的一/O性性能,同时适应在线分布查询。我们的方法类似于在BST模型中进行的努力,在BST模型中,Tango Trees(Demaine et al. 2007)被显示为$O(log\logN)与最佳离线二进制搜索树运行时间相比具有竞争力。我们在这里将B-Tree模型正式确定为BST模型的自然概括。我们证明B-Tree模型的界限较低,并引入B-Tree模型数据结构,即Belga B-Tree,该模型在$O(log\log N)中进行任何排序搜索,在最佳离线B-Tree模型算法中提供$B ⁇ log*O(1)N。我们还演示如何将任何静态的BST模型转换为静态的B-Tree,以$\\log B值更快的速度转换为一个静态的基树。