scispace - formally typeset
Search or ask a question

Showing papers by "Robert E. Tarjan published in 1972"


Journal ArticleDOI
TL;DR: The value of depth-first search or “backtracking” as a technique for solving problems is illustrated by two examples of an improved version of an algorithm for finding the strongly connected components of a directed graph.
Abstract: 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 componen...

5,660 citations


Journal ArticleDOI
TL;DR: An algorithm to enumerate all the elementary circuits of a directed graph that uses back-tracking with lookahead to avoid unnecessary work and has a time bound of $O ((V+E)(C+1))$ when applied to a graph with V, vertices, edges, and elementary circuits.
Abstract: An algorithm to enumerate all the elementary circuits of a directed graph is presented. The algorithm uses back-tracking with lookahead to avoid unnecessary work, and it has a time bound of $O ((V+E)(C+1))$ when applied to a graph with $V$ vertices, $E$ edges, and $C$ elementary circuits. Keywords: Algorithm, circuit, cycle, graph

278 citations


Journal ArticleDOI
TL;DR: The model is established that a switchyard is an acyclic directed graph, with a unique source and a unique sink, and each vertex represents a siding, which has the property of having indefinite storage space.
Abstract: Inspired by Knuth [2, p. 234], we wish to consider the following problem: Suppose we are presented with the layout of a railroad switchyard (Figure 1 ). I f a train is driven into one end of the yard, what rearrangements of the cars may be made before the train comes out the other end? In order to get a handle on the problem, we must introduce some formalization. A switchyard is an acyclic directed graph, with a unique source and a unique sink (Figure 2). Each vertex represents a siding. The vertex/siding is assumed to have indefinite storage space and may be a stack, a queue, or a deque of some sort (see Knuth [2, p. 234]). A stack is a siding which has the property tha t the last element inserted is the first to be removed. A queue has the proper ty tha t the first element inserted is the first to be removed. In the switchyard, the sidings associated with the source and sink are assumed to be queues. Suppose a finite sequence of numbers s = (sl, s2, • • • , sn) is placed in the source queue of a switchyard (Figure 3). We may rearrange s by moving the elements of s through the switchyard. At each step, an element is moved from some siding to another siding along an arc of the switchyard. After a suitable number of such moves, all elements will be in the sink queue. I f they are in order, smallest to largest, we have sorted the sequence s using the switchyard. We wish to analyze the sequences s which may be sorted in a switchyard Y. We lose nothing in our formalism by allowing storage only on the vertices, and not on the arcs of the switchyard. We ignore questions concerning the finite size of the sidings; assuming small sidings complicates the problem considerably. A circuit in the switchyard will allow us to sort any sequence; thus we do not allow circuits. Having established our model, we proceed to discover its properties.

225 citations



Book ChapterDOI
01 Jan 1972
TL;DR: An algorithm is presented for determining whether or not two planar graphs are isomorphic, if V is the number of vertices in each graph.
Abstract: An algorithm is presented for determining whether or not two planar graphs are isomorphic. The algorithm requires O(V log V) time, if V is the number of vertices in each graph.

86 citations


Proceedings ArticleDOI
01 May 1972
TL;DR: New upper and lower bounds are presented for the maximum number of comparisons, f(i,n), required to select the i-th largest of n numbers.
Abstract: New upper and lower bounds are presented for the maximum number of comparisons, f(i,n), required to select the i-th largest of n numbers. An upper bound is found, by an analysis of a new selection algorithm, to be a linear function of n: f(i,n) ≤ 103n/18 A lower bound is shown deductively to be: f(i,n) ≥ n+min(i,n−i+l) + [log2(n)] − 4, for 2 ≤ i ≤ n−1, or, for the case of computing medians: f([n/2],n) ≥ 3n/2 − 3

65 citations


01 Mar 1972
TL;DR: In this paper, an algorithm for finding a maximum clique in an arbitrary graph is described, which has a worst-case time bound of k(1.286) sup N for some constant k, where n is the number of vertices in the graph.
Abstract: : An algorithm for finding a maximum clique in an arbitrary graph is described. The algorithm has a worst-case time bound of k(1.286) sup N for some constant k, where n is the number of vertices in the graph. Within a fixed time, the algorithm can analyze a graph with 2 3/4 as many vertices as the largest graph which the obvious algorithm (examining all subsets of vertices) can analyze. (Author)

29 citations


01 Jan 1972

29 citations


01 Aug 1972
TL;DR: An algorithm for decomposing a graph into triconnected components is presented that is both theoretically optimal and efficient in practice.
Abstract: : An algorithm for decomposing a graph into triconnected components is presented. The algorithm requires 0(V + E) time and space when implemented on a random access computer, where V is the number of vertices and E is the number of edges in the graph. The algorithm is both theoretically optimal (to within a constant factor) and efficient in practice.

20 citations