Edge-disjoint spanning trees and depth-first search

  title={Edge-disjoint spanning trees and depth-first search},
  author={Robert E. Tarjan},
  journal={Acta Informatica},
  • R. Tarjan
  • Published 1 June 1976
  • Computer Science
  • Acta Informatica
SummaryThis paper presents an algorithm for finding two edge-disjoint spanning trees rooted at a fixed vertex of a directed graph. The algorithm uses depthfirst search and an efficient method for computing disjoint set unions. It requires O (eα(e, n)) time and O(e) space to analyze a graph with n vertices and e edges, where α (e, n) is a very slowly growing function related to a functional inverse of Ackermann's function. 

Testing 2-Vertex Connectivity and Computing Pairs of Vertex-Disjoint s-t Paths in Digraphs

An O(m+n)-time algorithm is presented that tests if a given directed graph is 2-vertex connected, and an O(n)- space data structure is designed that can compute in O(log2 n) time two internally vertex-disjoint paths from s to t.

Why Depth-First Search Efficiently Identifies Two and Three-Connected Graphs

The way depth-first search discards irrelevant edges illustrates the reason behind its ability to verify and certify biconsnectivity and triconnectivity in linear time.

Recognizing Graph Search Trees

A Low Complexity Topological Sorting Algorithm for Directed Acyclic Graph

In a Directed Acyclic Graph (DAG), vertex A and vertex B are connected by a directed edge AB which shows that A comes before B in the ordering, so that it can simply be sorted by reordering the nodes according to the edges from a Direction Matrix.

Fully Dynamic Depth-First Search in Directed Graphs

This work proposes a framework and corresponding algorithms for both edge insertion and deletion in general directed graphs and gives several optimizations to speed up the algorithms.

Near Optimal Parallel Algorithms for Dynamic DFS in Undirected Graphs

This work presents an algorithm achieving similar bounds that can be easily adopted to the parallel environment and provides, in a seamless manner, nearly optimal (to poly log n factors) deterministic parallel algorithms for maintaining a DFS tree in the semi-streaming environment and a restricted distributed model.

Depth First Search in the Semi-streaming Model

These are the first semi-streaming algorithms that compute a DFS tree of an undirected graph in $o(n)$ passes using $O(m)$ space and are presented as a framework that allows the flexibility of using any algorithm to maintain a D FS tree of a stored sparser subgraph as a black box, which may be of independent interest.

Planar Reachability Under Single Vertex or Edge Failures

An efficient reachability oracle under single-edge or single-vertex failures for planar directed graphs is presented and new data structures which generalize dominator trees and previous data structures for strong-connectivity under failures are presented.

Approximate maximum weight branchings

Near Optimal Parallel Algorithms for Dynamic DFS in Undirected Graphs

This work presents an algorithm achieving similar bounds, that can be adopted easily to the parallel environment, and provides the first parallel, semi-streaming and distributed algorithms for maintaining a DFS tree in the dynamic setting.



Depth-First Search and Linear Graph Algorithms

The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples. An improved version of an algorithm for finding the strongly connected components

Finding Dominators in Directed Graphs

  • R. Tarjan
  • Computer Science, Mathematics
    SIAM J. Comput.
  • 1974
This paper describes an algorithm for finding dominators in an arbitrary directed graph. The algorithm uses depth-first search and efficient algorithms for computing disjoint set unions and

Maximally Distant Trees and Principal Partition of a Linear Graph

A pair of trees of a graph is said to be maximally distant if the distance between these trees is maximum in the graph. Necessary and sufficient conditions for maximally distant trees are presented.

Set Merging Algorithms

This paper considers the problem of merging sets formed from a total of n items in such a way that at any time, the name of a set containing a given item can be ascertained. Two algorithms using

Testing flow graph reducibility

  • R. Tarjan
  • Computer Science
    J. Comput. Syst. Sci.
  • 1974
An algorithm for testing whether a flow graph is reducible is described, which uses depth-first search to reveal the structure of the flow graph and a good method for computing disjoint set unions to determine reducibility from the search information.

Matroid intersection algorithms

  • E. Lawler
  • Mathematics, Computer Science
    Math. Program.
  • 1975
Three matroid intersection algorithms are presented and provide constructive proofs of various important theorems of matroid theory, such as the Matroid Intersection Duality Theorem and Edmonds' Matroid Polyhedral Intersection Theorem.

Efficiency of a Good But Not Linear Set Union Algorithm

It is shown that, if t(m, n) is seen as the maximum time reqmred by a sequence of m > n FINDs and n -- 1 intermixed UNIONs, then kima(m), n is shown to be related to a functional inverse of Ackermann's functmn and as very slow-growing.

Submodular Functions, Matroids, and Certain Polyhedra

  • J. Edmonds
  • Mathematics
    Combinatorial Optimization
  • 2001
The viewpoint of the subject of matroids, and related areas of lattice theory, has always been, in one way or another, abstraction of algebraic dependence or, equivalently, abstraction of the

An implemented graph algorithm for winning Shannon Switching Games

In this tutorial paper a computer program which wins Shannon Switching Games is described and is a good example of the implementation of graph algorithms.

Minimum partition of a matroid into independent subsets

A matroid M is a finite se t M of e le me nts with a famil y of subsets, called independent, such th a t (I) every subset of an independe nt se t is independent, and (2) for e ve ry subset A of M ,