skip to main content
article
Free Access

Efficient implementation of graph algorithms using contraction

Published:01 July 1989Publication History
Skip Abstract Section

Abstract

The (component) merging problem is a new graph problem. Versions of this problem appear as bottlenecks in various graph algorithms. A new data structure solves this problem efficiently, and two special cases of the problem have even more efficient solutions based on other data structures. The performance of the data structures is sped up by introducing a new algorithmic tool called packets.

The algorithms that use these solutions to the component merging problem also exploit new properties of two existing data structures. Specifically, Β-trees can be used simultaneously as a priority queue and a concatenable queue. Similarly, F-heaps support some kinds of split operations with no loss of efficiency.

An immediate application of the solution to the simplest version of the merging problem is an Ο(t(m, n)) algorithm for finding minimum spanning trees in undirected graphs without using F-heaps, where t(m, n) = mlog2log2logdn, the graph has n vertices and m edges, and d = max(m/n, 2). Packets also improve the F-heap minimum spanning tree algorithm, giving the fastest algorithm currently known for this problem.

The efficient solutions to the merging problem and the new observation about F-heaps lead to an Ο(n(t(m, n) + nlogn)) algorithm for finding a maximum weighted matching in general graphs. This settles an open problem posed by Tarjan [ 15, p. 123], where the weaker bound of O(nm log (n2/m)) was conjectured.

References

  1. 1 AHO, A. V., HOPCROFT, J. E., AND ULLMAN, J. D. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, Mass., 1974. Google ScholarGoogle Scholar
  2. 2 BLUM, M., FLOYD, R., PRATT, V., RIVEST, R., AND TARJAN, R.E. Time bounds for selection. J. Comput. Syst. Sci. 7 (1973), 448-461.Google ScholarGoogle Scholar
  3. 3 CHERITON, D., AND TARJAN, R.E. Finding minimum spanning trees. SIAM J. Comput. 5 (1976), 724-741.Google ScholarGoogle Scholar
  4. 4 EDMONDS, J. Maximum matching and a polyhedron with 0, 1 vertices. J. Res. NBS 69B (April- June 1965), 125-130.Google ScholarGoogle Scholar
  5. 5 FREDMAN, M. L., AND TARJAN, R. E. Fibonacci heaps and their uses in improved network optimization algorithms. J. ACM 34, 3 (July 1987), 596-615. Google ScholarGoogle Scholar
  6. 6 GABOW, H.N. Implementation of algorithms for maximum matching on nonbipartite graphs. Ph.D. Dissertation. Dept. of Comput. Sci., Stanford Univ., Stanford, Calif., 1973. Google ScholarGoogle Scholar
  7. 7 GABOW, H. N. A scaling algorithm for weighted matching on graphs. In Proceedings of the 26th Annual IEEE Symposium on Foundations of Computer Science. IEEE, New .York, 1985, pp. 90-100.Google ScholarGoogle Scholar
  8. 8 GABOW, H. N., AND TARJAN, R.E. A linear-time algorithm for a special case of disjoint set union. J. Comput. Syst. Sci. 30 (1985), 209-221.Google ScholarGoogle Scholar
  9. 9 GABOW, H. N., GALIL, Z., AND SPENCER, T. H. Efficient implementation of graph algorithms using contraction. In Proceedings of the 25th Annual IEEE Symposium on Foundations of Computer Science. IEEE, New York, 1984, pp. 347-357.Google ScholarGoogle Scholar
  10. 10 GABOW, H. N., GALIL, Z., SPENCER, T. H., AND TARJAN, R.E. Efficient algorithms for minimum spanning trees on directed and undirected graphs. Combinatorica 6 (1886), 109-122. Google ScholarGoogle Scholar
  11. 11 GALIL, Z., MICALI, S., AND GABOW, H. Priority queues with variable priority and an O(EVlog V) algorithm for finding a maximal weighted matching in general graphs. SIAM J. Com.put. 15 (1986), 120-150. Google ScholarGoogle Scholar
  12. 12 JOHNSON, D.B. Efficient algorithms for shortest paths in sparse networks. J. ACM 24, 1 (Jan. 1977), 1-13. Google ScholarGoogle Scholar
  13. 13 KNUTH, D. E. The Art of Computer Programming. Vol. 3: Sorting and Searching. Addison- Wesley, Reading, Mass., 1973. Google ScholarGoogle Scholar
  14. 14 LAWLER, E.L. Combinatorial Optimization: Networks and Matroids. Holt, Rinehart and Winston, New York, 1976.Google ScholarGoogle Scholar
  15. 15 TARJAN, R.E. Data Structures and Network Algorithms. SIAM Publication, Philadelphia, Pa., 1983. Google ScholarGoogle Scholar
  16. 16 VUILLEMIN, J. A data structure for manipulating priority queues. Commun. ACM 21, 4 (Apr. 1978), 309-314. Google ScholarGoogle Scholar
  17. 17 YAO, A.C. An O(IEI loglog I VI) algorithm for finding minimum spanning trees. Inf. Proc. Lett. 4 (1975), 21-23.Google ScholarGoogle Scholar

Index Terms

  1. Efficient implementation of graph algorithms using contraction

        Recommendations

        Reviews

        S. Srinivasan

        The authors study an efficient implementation of graph algorithms. Their main contribution is in the area of merging components. The authors introduce the notion of packets, which means a certain number of edges are grouped into a packet. The advantage is that when an algorithm requires multiple phases, we only need to look at the packet minima. This approach enables the authors to obtain a more efficient (timewise) algorithm for finding minimum spanning trees in undirected graphs without using F-heaps. This result improves the work of Fredman and Tarjan [1], which uses F-heaps. This paper also addresses the reverse problem of merging, namely splitting. The authors suggest two different approaches to support the usual operations such as initialize, insert, delete, find, and split. This part requires the concept of &bgr;-trees, which are B-trees of order &bgr;. The paper concludes with six open questions. Even though several definitions are needed in a paper of this type, the authors have kept the paper very much self-contained. Several related works are identified in the references. The proofs are easy to follow. This paper makes an important contribution to the merging/splitting problem and will be of interest primarily for researchers in this area.

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image Journal of the ACM
          Journal of the ACM  Volume 36, Issue 3
          July 1989
          246 pages
          ISSN:0004-5411
          EISSN:1557-735X
          DOI:10.1145/65950
          Issue’s Table of Contents

          Copyright © 1989 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 July 1989
          Published in jacm Volume 36, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader