Share on Facebook Share on Twitter Email
Answers.com

Succinct data structure

 
Wikipedia: Succinct data structure
 

In computer science, a succinct data structure for a given data type is a representation of the underlying combinatorial object that uses an amount of space “close” to the information theoretic lower bound together with efficient algorithms for navigation, search, insertion and deletion operations.

A natural example is the representation of a binary tree: an arbitrary binary tree on n nodes can be represented in 2n + o(n) bits while supporting a variety of operations on any node, which includes finding its parent, its left and right child, and returning the size of its subtree, each in constant time. The number of different binary trees on n nodes is {2n\choose n}/(n+1). For large n, this is about 4n; thus we need at least about log2(4n) = 2n bits to encode it. A succinct binary tree therefore would occupy only 2 bits per node.

The concept was introduced by Jacobson [1], to encode bit vectors, (unlabeled) trees and planar graphs in space essentially equal to the information-theoretic lower bound, while supporting navigation on it efficiently.

External links

References

  1. ^ Jacobson, Guy, Space-Efficient Static Trees and Graphs, doi:10.1109/SFCS.1989.63533, ISBN 0-8186-1982-1 

Search unanswered questions...
Enter a word or phrase...
All Community Q&A Reference topics
 
 

 

Copyrights:

Wikipedia. This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia article "Succinct data structure" Read more

 

Mentioned in