Simpler and faster biconnectivity augmentation

  • Authors:
  • Tsan-sheng Hsu

  • Affiliations:
  • Institute of Information Science, Academia Sinica, Nankang, Taipei 11529, Taiwan, ROC

  • Venue:
  • Journal of Algorithms
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a new and simple technique to solve the problem of adding a minimum number of edges to an undirected graph in order to obtain a biconnected, i.e., 2-vertex-connected, resulting graph. Our technique results in a simpler algorithm, which runs in sequential linear time, that is also faster in parallel than the previous result.Previous approaches for the problem require the usage of sorting, and advanced data structures to dynamically maintain either (1) a rooted tree when vertices are collapsing, or (2) the largest two sets among a collection of sets when an element from each of the largest two sets is being deleted.Our algorithm only needs to find a maximum integer among a set of O(n) non-negative integers that are less than n and to compute various simple tree functions, e.g., the number of vertices and a consecutive numbering of the degree-1 vertices in a rooted subtree, on a rooted tree. No sorting routine and dynamic data structure is used in the algorithm. Our simple algorithm implies a linear-time sequential implementation. For parallel implementation, all but the step for finding connected components in our algorithm can be done optimally in O (log n) time on an EREW PRAM, where n is the number of vertices in the input graph. Hence our parallel implementation runs in either O (log n) time using O((n + m) . α(m, n)/log n) processors on a CRCW PRAM, or O(log n) time using O(n + m) processors on an EREW PRAM, where m is the number of edges in the input graph and α is the inverse Ackerman function. The previous best parallel algorithm for solving this problem runs in O(log2n) time using O(n + m) processors on an EREW PRAM.