scispace - formally typeset
Search or ask a question

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


Journal ArticleDOI
TL;DR: In this paper, it was shown that the vertices of a planar graph can be partitioned into three sets A, B, C such that no edge joins a vertex in A with another vertex in B, neither A nor B contains more than ${2n/3}$ vertices, and C contains no more than $2.
Abstract: Let G be any n-vertex planar graph. We prove that the vertices of G can be partitioned into three sets A, B, C such that no edge joins a vertex in A with a vertex in B, neither A nor B contains more than ${2n / 3}$ vertices, and C contains no more than $2\sqrt 2 \sqrt n $ vertices. We exhibit an algorithm which finds such a partition A, B, C in $O( n )$ time.

1,312 citations


Journal ArticleDOI
TL;DR: A simple constructive algorithm for the evaluation of formulas having two literals per clause, which runs in linear time on a random access machine.

970 citations


Journal ArticleDOI
TL;DR: A fast algorithm for finding dominators in a flowgraph is presented, which beat the straightforward algorithm and the bit vector algorithm on all but the smallest graphs tested.
Abstract: A fast algorithm for finding dominators in a flowgraph is presented. The algorithm uses depth-first search and an efficient method of computing functions defined on paths in trees. A simple implementation of the algorithm runs in O(m log n) time, where m is the number of edges and n is the number of vertices in the problem graph. A more sophisticated implementation runs in O(ma(m, n)) time, where a(m, n) is a functional inverse of Ackermann's function.Both versions of the algorithm were implemented in Algol W, a Stanford University version of Algol, and tested on an IBM 370/168. The programs were compared with an implementation by Purdom and Moore of a straightforward O(mn)-time algorithm, and with a bit vector algorithm described by Aho and Ullman. The fast algorithm beat the straightforward algorithm and the bit vector algorithm on all but the smallest graphs tested.

706 citations


Proceedings ArticleDOI
30 Apr 1979
TL;DR: An algorithm is presented that recognizes the class of General Series Parallel digraphs and runs in time proportional to the size of its input and calculates the transitive reduction and transitive closure of any General Series parallel digraph.
Abstract: We present an algorithm that recognizes the class of General Series Parallel digraphs and runs in time proportional to the size of its input. To perform this recognition task it is necessary to compute the transitive reduction and transitive closure of any General Series Parallel digraph. Our analysis is based on the relationship between General Series Parallel digraphs and a class of well known models of electrical networks.

461 citations


Journal ArticleDOI
TL;DR: A method for computing functions defined on paths in trees based on tree manipulation techniques first used for efficiently representing equivalence relations, which has an almost-linear running time and is useful for solving certain kinds of pathfinding problems on reducible graphs.
Abstract: We devise a method for computing functions defined on paths in trees. The method is based on tree manipulation techniques first used for efficiently representing equivalence relations. It has an almost-linear running time. We apply the method to give O(m $\alpha$(m,n)) algorithms for two problems. A. Verifying a minimum spanning tree in an undirected graph (best previous bound: O(m log log n) ). B. Finding dominators in a directed graph (best previous bound: O(n log n + m) ). Here n is the number of vertices and m the number of edges in the problem graph, and $\alpha$(m,n) is a very slowly growing function which is related to a functional inverse of Ackermann''s function. The method is also useful for solving, in O(m $\alpha$(m,n)) time, certain kinds of pathfinding problems on reducible graphs. Such problems occur in global flow analysis of computer programs and in other contexts. A companion paper will discuss this application.

324 citations


Journal ArticleDOI
TL;DR: A model intended to be useful in deriving realistic complexity bounds for tasks requiring list processing is described, and a class of algorithms which compute unions of disjoint sets on-line are defined, proving that any such algorithm requires nonlinear time in the worst case.

309 citations


Journal ArticleDOI
TL;DR: This work proposes a good worst-case method for storing a static table of n entries, each an integer between 0 and N - 1, and analysis shows why a simpler algorithm used for compressing LR parsing tables works so well.
Abstract: The problem of storing and searching large sparse tables is ubiquitous in computer science. The standard technique for storing such tables is hashing, but hashing has poor worst-case performance. We propose a good worst-case method for storing a static table of n entries, each an integer between 0 and N - 1. The method requires O(n) words of storage and allows O(lognN) access time. Although our method is a little complicated to use in practice, our analysis shows why a simpler algorithm used for compressing LR parsing tables works so well.

295 citations


Journal ArticleDOI
TL;DR: An algorithm which merges sorted lists represented as balanced binary trees if the lists have lengths m and n (m $\leq$ n), then the merging procedure runs in O(m log n/m) steps, which is the same order on all comparison-based algorithms for this problem.
Abstract: We give an algorithm which merges sorted lists represented as balanced binary trees. If the lists have lengths m and n (m $\leq$ n), then the merging procedure runs in O(m log n/m) steps, which is the same order as the lower bound on all comparison-based algorithms for this problem.

109 citations


Proceedings ArticleDOI
30 Apr 1979
TL;DR: A pebbling problem which has been used to study the storage requirements of various models of computation is examined and the original problem P-space complete is proved by employing a modification of Lingas's proof.
Abstract: We examine a pebbling problem which has been used to study the storage requirements of various models of computation. Sethi has shown this problem to be NP-hard and Lingas has shown a generalization to be P-space complete. We prove the original problem P-space complete by employing a modification of Lingas's proof. The pebbling problem is one of the few examples of a P-space complete problem not exhibiting any obvious quantifier alternation.

47 citations


Proceedings ArticleDOI
30 Apr 1979
TL;DR: Asymptotically tight bounds on the time-space tradeoffs for pebbling three different classes of directed acyclic graphs are derived.
Abstract: This paper derives asymptotically tight bounds on the time-space tradeoffs for pebbling three different classes of directed acyclic graphs. Let N be the size of the graph, S the number of available pebbles, and T the time necessary for pebbling the graph. (a) A time space tradeoff of the form ST = t(N2) is proved for a special class of permutation graphs which implement the bit reversal permutation. (b) A time-space tradeoff of the form T = S t(N/S)t(N/S) is proved for a class of graphs constructed by stacking superconcentrators in series. (c) A time-space tradeoff of the form T = S.22t(N/S)is proved for pebbling general directed acyclic graphs.

34 citations


Journal ArticleDOI
TL;DR: The most important in-core implementations of LDL t factorization are described and compared based on the results of numerical experiments.

Proceedings ArticleDOI
29 Oct 1979
TL;DR: An algorithm is given for finding a minimum spanning tree on a directed graph, where the given root r has prespecified degree; the time is O(m log n), the same as for the problem without the degree constraint.
Abstract: Given a matroid, where each element has a realvalued cost and is colored red or green; we seek a minimum cost base with exactly q red elements. This is a simple case of the matroid intersection problem. A general algorithm is presented. Its efficiency is illustrated in the special case of finding a minimum spanning tree with q red edges; the time is O(m log log n + n α (n,n) log n). Efficient algorithms are also given for job scheduling matroids and partition matroids. An algorithm is given for finding a minimum spanning tree where a vertex r has prespecified degree; it shows this problem is equivalent to finding a minimum spanning tree, without the degree constraint. An algorithm is given for finding a minimum spanning tree on a directed graph, where the given root r has prespecified degree; the time is O(m log n), the same as for the problem without the degree constraint.