An efficient data structure for lattice operations

Citation
M. Talamo et P. Vocca, An efficient data structure for lattice operations, SIAM J COMP, 28(5), 1999, pp. 1783-1805
Citations number
33
Categorie Soggetti
Computer Science & Engineering
Journal title
SIAM JOURNAL ON COMPUTING
ISSN journal
00975397 → ACNP
Volume
28
Issue
5
Year of publication
1999
Pages
1783 - 1805
Database
ISI
SICI code
0097-5397(19990526)28:5<1783:AEDSFL>2.0.ZU;2-M
Abstract
In this paper, we consider the representation and management of an element set on which a lattice partial order relation is defined. In particular, let n be the element set size. We present an O(n root n)-spa ce implicit data structure for performing the following set of basic operat ions: 1. Test the presence of an order relation between two given elements, in co nstant time. 2. Find a path between two elements whenever one exists, in O(l) steps, whe re l is the path length. 3. Compute the successors and/or predecessors set of a given element, in O( h) steps, where h is the size of the returned set. 4. Given two elements, find all elements between them, in time O(k log d), where k is the size of the returned set and d is the maximum in-degree or o ut-degree in the transitive reduction of the order relation. 5. Given two elements, find the least common ancestor and/or the greatest c ommon successor in O(root n)-time. 6. Given k elements, find the least common ancestor and/or the greatest com mon successor in O(root n + k log n)time. (Unless stated otherwise, all log arithms are to the base 2.) The preprocessing time is O(n(2)). Focusing on the first operation, represe nting the building-box for all the others, we derive an overall O(n root n) -space x time bound which beats the order n(2) bottleneck representing the present complexity for this problem. Moreover, we will show that the comple xity bounds for the first three operations are optimal with respect to the worst case. Additionally, a stronger result can be derived. In particular, it is possible to represent a lattice in space O(n root t), where t is the minimum number of disjoint chains which partition the element set.