1 / 24

Succinct Dynamic -ary Trees

Succinct Dynamic -ary Trees. Joint work with S . Srinivasa Rao In TAMC’11. Pooya Davoodi Aarhus University. Aarhus University, May 18, 2011. Outline. Succinct Data Structures Succinct Trees Dynamic Succinct Trees Dynamic Succinct -ary Trees. Succinct Data Structures.

nonnie
Download Presentation

Succinct Dynamic -ary Trees

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Succinct Dynamic -ary Trees Joint work with S. SrinivasaRao In TAMC’11 Pooya Davoodi Aarhus University Aarhus University, May 18, 2011

  2. Outline • Succinct Data Structures • Succinct Trees • Dynamic Succinct Trees • Dynamic Succinct -ary Trees

  3. Succinct Data Structures • Data structures support some operations • Succinct data structures • Efficient operations • Minimum space (information-theoretic) • If you store less, then you cannot solve the problem Data Structure Operations Compress but also preserve accessibility and functionality

  4. Representation of Binary Trees • Support traversal in a binary tree • Left/right child and parent • Pointer-based representation • Θ bits and time • Can we reduce the space?

  5. Information-theoretic lower boundBinary Trees • How many different binary trees? • Catalan Number • Lower bound: bits • Goal: bits bits required

  6. Succinct Binary Trees • Balanced Parentheses • Left/right child • Parent • subtree-size Isomorphism Ordinal tree An application: in text indexing, determining the number of matches without enumerating all of them parentheses: ( ( ( ( ) ) ( ) ) ( (( ) )( )( ) ) ( ) ) DFS (Preorder)

  7. Balanced Parentheses • Support balanced parentheses operations • findclose, findopen, excess, enclose • bits and time ( ( ( ( ) ) ( ) ) ( ( ( ) ) ( ) ( ) ) ( ) )

  8. -ary Cardinal Trees • Each node: at most children • Each edge: a label from • Operations • label-child() • parent 2 3 3 1 2 2

  9. Succinct -ary Trees • Represent without labels • Balanced parentheses • Cannot perform label-child() • Support label-child() • rank() • At each node: a dictionaryof labels • -th child • time? 2 3 ( ( ( ( ) ) ( ) ( ) ) ( ) ) 3 1 2 sorted 2 • rank() • 2nd child

  10. DFS- Unary Degree SequenceDFUDS • Balanced parentheses (DFS) • Instead: • During DFS, at each node • unary degree sequence • -th child • bits and time 2 3 ( ( ( ( ) ) ( ) ( ) ) ( ) ) 3 1 2 2 ( ( ( ) ( ( ( ) ( ) ) ) ) )

  11. Information-theoretic lower bound-ary Trees • DFUDS + Dictionaries • bits • time • Lower bound: bits

  12. Dynamic Succinct Trees • Inserting a node along an edge • Inserting a leaf • Deleting a node with one child • Deleting a leaf “Data optimization is much easier when we can sit back and do it off-line.” Jocobson, 1989

  13. Difficulty of subtree-size • amortized • Subset-rank problem • subtree-size() • rank()= • Insert/delete in insert-leaf/delete-leaf 1 2 3 4 5

  14. Difficulty of -th child • amortized • Reduction from list-representation problem • -th child • Insert/delete in insert-leaf/delete-leaf 1 2

  15. Dynamic Succinct -ary TreesDFUDS + Dictionary • Represent without labels • Dynamic DFUDS • bits and time 2 3 3 1 2 2 1 ( ( ( ) ( ( ( ) ( ) ) ) ) ( ) )

  16. Dynamic Succinct -ary TreesDFUDS + Dictionary • Sequence of labels in DFUDS order • Sequence has labels from {1,2,…,k} • Dynamic dictionary bits and time 2 3 3 1 2 2 1 2 3 1 2 3 2 1 too high

  17. Dynamic Succinct -ary Trees • DFUDS + Dictionary: • time • bits • Decomposition helps? • Each micro tree: • DFUDS + Dictionary • Need restriction subtree-size update

  18. Traversal Model • Operations at a finger (current node) • Applications: Suffix trees, Lempel-Ziv indexes, etc. • Amortize over the movements of the finger

  19. Our Contribution

  20. Dynamic Succinct -ary TreesTraversal Model • Decompose into micro trees • Size: • NO global structure • Each micro tree: • DFUDS • Dictionary for sequence of labels • Preorder-number of frontiers • subtree-size of child micro trees • Pointers to neighbors • timebits

  21. Packing, B-Trees, Lookup Tables • Sequences of length • DFUDS, sequence of labels, frontiers, subtree-size bits Packing Sequence

  22. Memory Management • Micro trees: extendible arrays • Add bits • : word size • : number of micro trees Access Grow Shrink ours:

  23. Open Problems • General (traversal model) • query time: • update time:

  24. ThankYou

More Related