Getting back to the past in the union-find problem

  • Giorgio Gambosi
  • Giuseppe F. Italiano
  • Maurizio Talamo
Contributed Papers Algorithms
Part of the Lecture Notes in Computer Science book series (LNCS, volume 294)


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.


Space Complexity Balance Tree Union Operation Free List Bidirectional Connection 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AHU74]
    A.V. Aho, J.E. Hopcroft, J.D. Ullman, The design and analysis of computer algorithms, Addison-Wesley, 1974.Google Scholar
  2. [AVL62]
    G.M. Adelson-Velskii, Y.M. Landis, "An algorithm for the organization of the information", Soviet. Math. Dokl. 3 (1962), 1259–1262.Google Scholar
  3. [Bl85]
    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.Google Scholar
  4. [BS85]
    B. Bollobas, I. Simon, "On the expecetd behavior of disjoint set union algorithms", Proc. 17th ACM Symp. on Theory of Computing (1985), 224–231.Google Scholar
  5. [BMC72]
    R. Bayer, E. McCreight, "Organization and maintenance of large ordered indices", Acta Informatica 1 (1972), 173–179.Google Scholar
  6. [GIT88]
    G. Gambosi, G. F. Italiano, M. Talamo, "Efficient introduction of heuristics in the Logic Programming environment", in preparation.Google Scholar
  7. [GT83]
    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.Google Scholar
  8. [Ho84]
    C. J. Hogger, Introduction to logic programming, Academic Press, 1984.Google Scholar
  9. [HU73]
    J. E. Hopcroft, J. D. Ullman, "Set merging algorithms", SIAM J. Comput. 2 (1973), 294–303.Google Scholar
  10. [MU86a]
    H. Mannila, E. Ukkonen, "The set union problem with backtracking", Proc. 13th ICALP (1986), 236–243.Google Scholar
  11. [MU86b]
    H. Mannila, E. Ukkonen, "On the complexity of unification sequences", Proc. 3rd Int. Conf. on Logic Programming (1986), 122–133.Google Scholar
  12. [NR73]
    J. Nievergelt, E. M. Reingold, "Binary search trees of bounded balance", SIAM J. Comput. 2 (1973), 33–43.Google Scholar
  13. [Ta75]
    R. E. Tarjan, "Efficiency of a good but not linear disjoint set union algorithm", J. ACM 22 (1975), 215–225.Google Scholar
  14. [Ta79]
    R. E. Tarjan, "A class of algorithms which require non linear time to maintain disjoint sets", J. Computers and System Sciences 18 (1979), 110–127.Google Scholar
  15. [Ta85]
    R. E. Tarjan, "Amortized computational complexity", SIAM J. Alg. Disc. Meth. 6 (1985), 306–318.Google Scholar
  16. [TvL84]
    R. E. Tarjan, J. van Leeuwen, "Worst-case analysis of set union algorithms", J. ACM 31 (1984), 245–281.Google Scholar
  17. [TW87]
    Tarjan, Westbook: private communicationGoogle Scholar
  18. [vLvW77]
    J. van Leeuwen, T. van der Weide, "Alternative path compression techniques", Techn.Rep. RUU-CS-77-3, Rijksuniversiteit Utrecht, The Netherlands.Google Scholar
  19. [WP77]
    D. H. D. Warren, L. M. Pereira, "Prolog — the language and its implementation compared with LISP", ACM SIGPLAN Notices 12 (1977), 109–115.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Giorgio Gambosi
    • 1
  • Giuseppe F. Italiano
    • 2
  • Maurizio Talamo
    • 1
  1. 1.Istituto di Analisi dei Sistemi ed Informatica del C.N.R.RomeItaly
  2. 2.Dipartimento di Informatica e SistemisticaUniversità di Roma "La Sapienza’`RomeItaly

Personalised recommendations