Abstract

Cardinal trees (or tries of degree $$k$$k) are a fundamental data structure, in particular for many text-processing algorithms. Each node in a cardinal tree has at most $$k$$k children, each labeled with a symbol from the alphabet $$\{1,\ldots , k\}$${1,?,k}. In this paper we introduce succinct representations for dynamic cardinal trees on $$n$$n nodes, requiring $$2n + n\lg {k} + o(n\lg {k})$$2n+nlgk+o(nlgk) 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= \mathcal {O}(\mathrm{polylog}(n))$$k=O(polylog(n)), we show how the navigational and query operations on the tree can be supported in $$\mathcal {O}(1)$$O(1) time, while supporting insertions and deletions of leaves in $$\mathcal {O}(1)$$O(1) amortized time. For $$k= \omega ({\mathrm{polylog}(n)})$$k=?(polylog(n)) [and $$\mathcal {O}(n)$$O(n)], we show that the same set of operations can be supported in $$\mathcal {O}(\lg {k}/\lg {\lg {k}})$$O(lgk/lglgk) time (amortized in the case of insertions/deletions). We also show how to associate $$b$$b-bit satellite data to the tree nodes using $$bn+o(n)$$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)$$2n+o(n) bits of space, so that the tree operations are supported in $$\mathcal {O}(1)$$O(1) time (amortized in the case of insert/delete operations). We support adding satellite data to the tree nodes using $$bn+o(n)$$bn+o(n) extra bits [(vs. $$bn+o(bn)$$bn+o(bn) extra bits of the fastest previous dynamic representation from the literature], while providing several trade-offs for accessing/modifying the data.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.