Harold N. Gabow
University of Colorado Boulder
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Harold N. Gabow.
Journal of Computer and System Sciences | 1985
Harold N. Gabow; Robert Endre Tarjan
This paper presents a linear-time algorithm for the special case of the disjoint set union problem in which the structure of the unions (defined by a “union tree”) is known in advance. The algorithm executes an intermixed sequence of m union and find operations on n elements in O(m+n) time and O(n) space. This is a slight but theoretically significant improvement over the fastest known algorithm for the general problem, which runs in O(mα(m+n, n)+n) time and O(n) space, where a is a functional inverse of Ackermanns function. Used as a subroutine, the algorithm gives similar improvements in the efficiency of algorithms for solving several other problems, including two-processor scheduling, matching on convex graphs, finding nearest common ancestors off-line, testing a flow graph for reducibility, and finding two disjoint directed spanning trees. The algorithm obtains its efficiency by combining the fast algorithm for the general problem with table look-up on small sets, and requires a random access machine for its implementation. The algorithm extends to the case in which single-node additions to the union tree are allowed. The extended algorithm is useful in finding maximum cardinality matchings in nonbipartite graphs.
symposium on the theory of computing | 1984
Harold N. Gabow; Jon Louis Bentley; Robert Endre Tarjan
Three techniques in computational geometry are explored: <italic>Scaling</italic> solves a problem by viewing it at increasing levels of numerical precision; <italic>activation</italic> is a restricted type of update operation, useful in sweep algorithms; the <italic>Cartesian tree</italic> is a data structure for problems involving maximums and minimums. These techniques solve the minimum spanning tree problem in R<supscrpt>k</supscrpt><subscrpt>1</subscrpt> and R<supscrpt>k</supscrpt><subscrpt>@@@@</subscrpt> in O(<italic>n</italic>(<italic>lg n</italic>)<supscrpt>r</supscrpt><italic>lg lg n</italic>) time and O(<italic>n</italic>) space, where for R<supscrpt>k</supscrpt><subscrpt>@@@@</subscrpt> and k ≥ 3, r &equil; k−2; for R<supscrpt>k</supscrpt><subscrpt>1</subscrpt>, r &equil; 1, 2, 4 for k &equil; 3, 4, 5 and r &equil; k for k > 5. Other problems solved include R<supscrpt>k</supscrpt><subscrpt>1</subscrpt>and R<supscrpt>k</supscrpt> all nearest neighbors, post office and maximum spanning tree; R<supscrpt>k</supscrpt> maxima, R<supscrpt>k</supscrpt> rectangle searching problems, and Z<supscrpt>k</supscrpt><subscrpt>p</subscrpt> all nearest neighbors (1 ≤ <italic>p</italic> ≤ @@@@).
Combinatorica | 1986
Harold N. Gabow; Zvi Galil; Thomas H. Spencer; Robert Endre Tarjan
Recently, Fredman and Tarjan invented a new, especially efficient form of heap (priority queue). Their data structure, theFibonacci heap (or F-heap) supports arbitrary deletion inO(logn) amortized time and other heap operations inO(1) amortized time. In this paper we use F-heaps to obtain fast algorithms for finding minimum spanning trees in undirected and directed graphs. For an undirected graph containingn vertices andm edges, our minimum spanning tree algorithm runs inO(m logβ (m, n)) time, improved fromO(mβ(m, n)) time, whereβ(m, n)=min {i|log(i)n ≦m/n}. Our minimum spanning tree algorithm for directed graphs runs inO(n logn + m) time, improved fromO(n log n +m log log log(m/n+2)n). Both algorithms can be extended to allow a degree constraint at one vertex.
SIAM Journal on Computing | 1989
Harold N. Gabow; Robert Endre Tarjan
This paper presents algorithms for the assignment problem, the transportation problem, and the minimum-cost flow problem of operations research. The algorithms find a minimum-cost solution, yet run in time close to the best-known bounds for the corresponding problems without costs. For example, the assignment problem (equivalently, minimum-cost matching in a bipartite graph) can be solved in
symposium on the theory of computing | 1983
Harold N. Gabow
O(\sqrt {nm} \log (nN))
Communications of The ACM | 1988
James R. Driscoll; Harold N. Gabow; Ruth Shrairman; Robert Endre Tarjan
time, where
symposium on the theory of computing | 1991
Harold N. Gabow
n,m
IEEE Transactions on Software Engineering | 1976
Harold N. Gabow; S.N. Maheshwari; Leon J. Osterweil
, and N denote the number of vertices, number of edges, and largest magnitude of a cost; costs are assumed to be integral. The algorithms work by scaling. As in the work of Goldberg and Tarjan, in each scaled problem an approximate optimum solution is found, rather than an exact optimum.
Journal of Algorithms | 1988
Harold N. Gabow; Robert Endre Tarjan
Efficient algorithms are given for the bidirected network flow problem and the degree-constrained subgraph problem. Four versions of each are solved, depending on whether edge capacities/multiplicities are one or arbitrary, and whether maximum value/maximum cardinality or minimum cost/maximum weight is the objective. A version of the shortest path problem is also efficiently solved. The algorithms use a reduction technique that solves one problem instance by reducing to a number of problems.
SIAM Journal on Computing | 1977
Harold N. Gabow
The relaxed heap is a priority queue data structure that achieves the same amortized time bounds as the Fibonacci heap—a sequence of m decrease_key and n delete_min operations takes time O(m + n log n). A variant of relaxed heaps achieves similar bounds in the worst case—O(1) time for decrease_key and O(log n) for delete_min. Relaxed heaps give a processor-efficient parallel implementation of Dijkstras shortest path algorithm, and hence other algorithms in network optimization. A relaxed heap is a type of binomial queue that allows heap order to be violated.