Getting back to the past in the union-find problem
Contributed Papers Algorithms First Online: 23 June 2005 DOI:
Part of the
Lecture Notes in Computer Science
book series (LNCS, volume 294) Cite this paper as: Gambosi G., Italiano G.F., Talamo M. (1988) Getting back to the past in the union-find problem. In: Cori R., Wirsing M. (eds) STACS 88. STACS 1988. Lecture Notes in Computer Science, vol 294. Springer, Berlin, Heidelberg Abstract
We consider an extension of the well known set union problem, where backtracking over the union operations is possible. A data structure is presented which maintains a partition of an
n-item set and performs each union in O( loglogn) time, each find in O( logn) time and allows backtracking over the unions in O( 1) time. The space complexity is O( n). The data structure favorably compares with other data structures proposed in the literature for such a problem also from the space × time complexity point of view.
Supported by ESPRIT Project ALPES
Supported by MPI National Project on Theory and Design of Algorithms.
A.V. Aho, J.E. Hopcroft, J.D. Ullman,
The design and analysis of computer algorithms, Addison-Wesley, 1974.
G.M. Adelson-Velskii, Y.M. Landis, "An algorithm for the organization of the information",
Soviet. Math. Dokl. 3
N. Blum, "On the single operation worst-case time complexity of the disjoint set union problem",
Proc. 2nd Symp. on Theoretical Aspects of Computer Science (1985), 32–38.
B. Bollobas, I. Simon, "On the expecetd behavior of disjoint set union algorithms",
Proc. 17th ACM Symp. on Theory of Computing (1985), 224–231.
R. Bayer, E. McCreight, "Organization and maintenance of large ordered indices",
Acta Informatica 1
G. Gambosi, G. F. Italiano, M. Talamo, "Efficient introduction of heuristics in the Logic Programming environment", in preparation.
H. N. Gabow, R. E. Tarjan, "A linear time algorithm for a special case of disjoint set union",
Proc. 15th ACM Symp. on Theory of Computing (1983), 246–251.
C. J. Hogger,
Introduction to logic programming, Academic Press, 1984.
J. E. Hopcroft, J. D. Ullman, "Set merging algorithms",
SIAM J. Comput. 2
H. Mannila, E. Ukkonen, "The set union problem with backtracking",
Proc. 13th ICALP (1986), 236–243.
H. Mannila, E. Ukkonen, "On the complexity of unification sequences",
Proc. 3rd Int. Conf. on Logic Programming (1986), 122–133.
J. Nievergelt, E. M. Reingold, "Binary search trees of bounded balance",
SIAM J. Comput. 2
R. E. Tarjan, "Efficiency of a good but not linear disjoint set union algorithm",
J. ACM 22
R. E. Tarjan, "A class of algorithms which require non linear time to maintain disjoint sets",
J. Computers and System Sciences 18
R. E. Tarjan, "Amortized computational complexity",
SIAM J. Alg. Disc. Meth. 6
R. E. Tarjan, J. van Leeuwen, "Worst-case analysis of set union algorithms",
J. ACM 31
Tarjan, Westbook: private communication
J. van Leeuwen, T. van der Weide, "Alternative path compression techniques", Techn.Rep. RUU-CS-77-3, Rijksuniversiteit Utrecht, The Netherlands.
D. H. D. Warren, L. M. Pereira, "Prolog — the language and its implementation compared with LISP",
ACM SIGPLAN Notices 12