We present a data structure CORoBTS for storing a search tree with all leaves at the same depth and vertices of arity between chosen constants $a$ and $b$ in a cache-oblivious way. It provides operations for inserting an $a$-ary subtree and removing a subtree; both have an amortized I/O complexity $\mathcal{O}(S\cdot(\log^2 N)/ B + \log_B N \cdot \log\log S + 1)$ and amortized time complexity $\mathcal{O}(S\cdot\log^2 N)$, where $S$ is the size of the subtree and $N$ size of the whole stored tree. The tree allows searching with an optimal I/O complexity $\mathcal{O}(\log_B{N})$ and is stored in a linear space. We use the data structure as a top space-time tree in the cache-oblivious partially persistent array proposed by Davoodi et al. [DFI\"O14]. The space complexity of the persistent array is then improved from $\mathcal{O}(U^{\log_2 3} + V \log U)$ to $\mathcal{O}(U + V \log U)$, where $U$ is the maximal size of the array and $V$ is the number of versions. The data locality and I/O complexity of both present and persistent reads are kept unchanged; I/O complexity of writes is worsened by a polylogarithmic factor.
翻译:我们提出了一个数据结构 CORoBTS, 用于以相同的深度存储树, 以所有叶子存储一个搜索树, 深度相同, 并且以缓存可见的方式在选择的常数 $a$ 美元和 $b$ 之间呈正数。 它提供插入$a美元子树的操作, 并移除一个子树 ; (S\ cdot( log_ 2 N) / B +\ log_ B N\ log\ log\ log S+ 1) $和 折存时间复杂性 $\ mathcal=O} (S\ dot\ log\ log2) 美元。 它提供以最优化的 I/ O 复杂性 $ (log_ 2 N) 来搜索, 并且存储在线性空间中。 我们使用数据结构作为缓存- 硬性 O- 美元 美元 美元 美元 和 Davood2 和 Almal_ 美元 的常数 。