Succinct Dynamic Cardinal Trees

Algorithmica(2015)

引用 16|浏览52
暂无评分
摘要
Cardinal trees (or tries of degree k ) are a fundamental data structure, in particular for many text-processing algorithms. Each node in a cardinal tree has at most k children, each labeled with a symbol from the alphabet {1,… , k} . In this paper we introduce succinct representations for dynamic cardinal trees on n nodes, requiring 2n + nk + o(nk) bits of space. These are the first dynamic cardinal tree representations that support a (fairly) complete set of operations while using almost optimal space. For k= 𝒪(polylog(n)) , we show how the navigational and query operations on the tree can be supported in 𝒪(1) time, while supporting insertions and deletions of leaves in 𝒪(1) amortized time. For k= ω (polylog(n)) [and 𝒪(n) ], we show that the same set of operations can be supported in 𝒪(k/k) time (amortized in the case of insertions/deletions). We also show how to associate b -bit satellite data to the tree nodes using bn+o(n) extra bits. Finally, we show how the machinery introduced for dynamic cardinal trees can be adapted to represent dynamic binary trees using 2n+o(n) bits of space, so that the tree operations are supported in 𝒪(1) time (amortized in the case of insert/delete operations). We support adding satellite data to the tree nodes using bn+o(n) extra bits [(vs. bn+o(bn) extra bits of the fastest previous dynamic representation from the literature], while providing several trade-offs for accessing/modifying the data.
更多
查看译文
关键词
Succinct dynamic data structures,Succinct trees,Cardinal tree representations
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要