2013 | OriginalPaper | Buchkapitel
Succinct Data Structures for Representing Equivalence Classes
verfasst von : Moshe Lewenstein, J. Ian Munro, Venkatesh Raman
Erschienen in: Algorithms and Computation
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
Given a partition of an
n
element set into equivalence classes, we consider time-space tradeoffs for representing it to support the query that asks whether two given elements are in the same equivalence class. This has various applications including for testing whether two vertices are in the same connected component in an undirected graph or in the same strongly connected component in a directed graph.
We consider the problem in several models.
Concerning labeling schemes where we assign labels to elements and the query is to be answered just by examining the labels of the queried elements (without any extra space): if each vertex is required to have a unique label, then we show that a label space of
$\sum_{i=1}^n \lfloor{n \over i} \rfloor$
is necessary and sufficient. In other words,
$\lg n + \lg \lg n + O(1)$
bits of space are necessary and sufficient for representing each of the labels. This slightly strengthens the known lower bound and is in contrast to the known necessary and sufficient bound of
$\lceil \lg n \rceil$
for the label length, if each vertex need not get a unique label.
Concerning succinct data structures for the problem when the
n
elements are to be uniquely assigned labels from label set {1,…,
n
}, we first show that
$\Theta(\sqrt n)$
bits are necessary and sufficient to represent the equivalence class information. This space includes the space for implicitly encoding the vertex labels. We can support the query in such a structure in
$O(\lg n)$
time in the standard word RAM model.
We then develop structures where the queries can be answered
in
$O(\lg \lg n)$
time using
$O(\sqrt n \lg n/\lg \lg n)$
bits, and
in
O
(1) time using
$O({\sqrt n} \lg n)$
bits of space.
We also develop a dynamic structure that uses
$O(\sqrt n \lg n)$
bits to support equivalence queries and unions in
$O(\lg n/\lg \lg n)$
worst case time or
O
(
α
(
n
)) expected amortized time where
α
(
n
) is the inverse Ackermann function.