
Succinct Encoding of Permutations: Applications to Text Indexing S 915
A third direction for future work is to design succinct
representations of dynamic trees and graphs. There have
been some preliminary results by Munro et al. [10]on
succinctly representing dynamic binary trees, which have
been further improved by Raman and Rao [12]. It may
be possible to further improve these results, and there are
other related dynamic data structures that do not have suc-
cinct representations.
Experimental Resul t s
Geary et al. [4] have engineered the implementation of
succinct ordinal trees based on balanced parentheses. They
have performed experiments on large XML trees. Their
implementation uses orders of magnitude less space than
the standard pointed-based representation, while support-
ing tree traversal operations with only a slight slowdown.
Cross References
Compressed Suffix Array
Compressed Text Indexing
Rank and Select Operations on Binary Strings
Succinct Encoding of Permutations: Applications to
Text Indexing
Text Indexing
Recommended Reading
1. Bernhart, F., Kainen P.C.: The book thickness of a graph.
J. Comb. Theory B 27(3), 320–331 (1979)
2. Chiang, Y.-T., Lin, C.-C., Lu, H.-I.: Orderly spanningtrees with ap-
plications. SIAM J. Comput. 34(4), 924–945 (2005)
3. Chuang, R.C.-N., Garg, A., He, X., Kao, M.-Y., Lu, H.-I.: Compact
encodings of planar graphs via canonical orderings and multi-
ple parentheses. Comput. Res. Repos. cs.DS/0102005 (2001)
4. Geary, R.F., Rahman, N., Raman, R., Raman, V.: A simple optimal
representation for balanced parentheses. Theor. Comput. Sci.
368(3), 231–246 (2006)
5. Grossi, R., Gupta, A., Vitter J.S.: High-order entropy-compressed
textindexes.In:Farach-Colton,M.(ed)Proceedingsofthe14th
Annual ACM-SIAM Symposium on Discrete Algorithms, SIAM,
pp. 841–850, Philadelphia (2003)
6. Jacobson, G.: Space-efficient static trees and graphs. In: Pro-
ceedings of the 30th Annual IEEE Symposium on Foundations
of Computer Science, IEEE, pp. 549–554, New York (1989)
7. Lu, H.-I., Yeh, C.-C.: Balanced parentheses strike back. Accepted
to ACM Trans. Algorithms (2007)
8. Munro, J.I., Raman V.: Succinct representation of balanced
parentheses and static trees. SIAM J. Comput. 31(3), 762–776
(2001)
9. Munro, J.I., Raman, V., Rao, S.S.: Space efficient suffix trees. J. Al-
gorithms 39(2), 205–222 (2001)
10. Munro,J.I.,Raman,V.,Storm,A.J.:Representingdynamicbinary
trees succinctly. In: Rao Kosaraju, S. (ed.) Proceedings of the
12th Annual ACM-SIAM Symposium on Discrete Algorithms,
SIAM, pp. 529–536, Philadelphia (2001)
11. Munro, J.I., Rao, S.S.: Succinct representations of functions. In:
Díaz, J., Karhumäki, J., Lepistö, A., Sannella, D. (eds.): Proceed-
ings of the 31st International Colloquium on Automata, Lan-
guages and Programming, pp. 1006–1015. Springer, Heidel-
berg (2004)
12. Raman, R., Rao, S. S.: Succinct dynamic dictionaries and trees.
In: Baeten, J.C.M., Lenstra, J.K., Parrow J., Woeginger, G.J. (eds.)
Proceedings of the 30th International Colloquium on Au-
tomata, Languages and Programming, pp. 357–368. Springer,
Heidelberg (2003)
13. Sadakane, K.: Compressed suffix trees with full functionality.
Theory Comput. Syst. (2007) Online first. http://dx.doi.org/10.
1007/s00224-006-1198-x
14. Weiner, P.: Linear pattern matching algorithms. In: Proceed-
ings of the 14th Annual IEEE Symposium on Switching and Au-
tomata Theory, pp. 1–11. IEEE, New York (1973)
15. Yannakakis, M.: Four pages are necessary and sufficient for pla-
nar graphs. In: Hartmanis, J. (ed.) Proceedings of the 18th An-
nual ACM-SIAM Symposium on Theory of Computing, pp. 104–
108. ACM, New York (1986)
Succinct Encoding of Permutations:
Applications to Text Indexing
2003; Munro, Raman, Raman, Rao
JÉRÉMY BARBAY
1
,J.IAN MUNRO
2
1
Department of Computer Science, University of Chile,
Santiago, Chile
2
Cheriton School of Computer Science, University
of Waterloo, Waterloo, ON, Canada
Problem Definition
A succinct data structure for a given data type is a repre-
sentation of the underlying combinatorial object that uses
an amount of space “close” to the information theoretic
lower bound together with algorithms that support op-
erations of the data type “quickly.” A natural example is
the representation of a binary tree [5]: an arbitrary binary
tree on n nodes can be represented in 2n + o(n)bitswhile
supporting a variety of operations on any node, which in-
clude finding its parent, its left or right child, and return-
ing the size of its subtree, each in O(1) time. As there are
2n
n
/(n + 1) binary trees on n nodes and the logarithm of
this term
1
is 2n o(n), the space used by this representa-
tion is optimal to within a lower-order term.
In the applications considered in this entry, the prin-
ciple concern is with indexes supporting search in strings
and in XML-like documents (i. e., tree-structured objects
with labels and “free text” at various nodes). As it happens,
not only labeled trees but also arbitrary binary relations
1
All logarithms are taken to the base 2. By convention, the iterated
logarithm is denoted by lg
(i)
n;hence,lglglgx is lg
(3)
x.