Fast algorithms for finding nearest common ancestors
SIAM Journal on Computing
Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
Efficiency of a Good But Not Linear Set Union Algorithm
Journal of the ACM (JACM)
An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs
Journal of the ACM (JACM)
Applications of Path Compression on Balanced Trees
Journal of the ACM (JACM)
An Almost-Linear Algorithm for Two-Processor Scheduling
Journal of the ACM (JACM)
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Discipline of Programming
Fundamentals of Computer Alori
Fundamentals of Computer Alori
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
A Separator Theorem for Chordal Graphs
A Separator Theorem for Chordal Graphs
Design of a Computer—The Control Data 6600
Design of a Computer—The Control Data 6600
Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
Efficient algorithms for finding maximum matching in graphs
ACM Computing Surveys (CSUR)
The two-processor scheduling problem is in R-NC
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
A linear algorithm for finding dominators in flow graphs and related problems
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
On the expected behavior of disjoint set union algorithms
STOC '85 Proceedings of the seventeenth annual ACM symposium on Theory of computing
Scheduling expressions on a pipelined processor with a maximal delay of one cycle
ACM Transactions on Programming Languages and Systems (TOPLAS)
Forests, frames, and games: algorithms for matroid sums and applications
STOC '88 Proceedings of the twentieth annual ACM symposium on Theory of computing
Optimal Three-Layer Channel Routing
IEEE Transactions on Computers
Complexity results and algorithms for {
SODA '91 Proceedings of the second annual ACM-SIAM symposium on Discrete algorithms
Parallel algorithms for evaluating sequences of set-manipulation operations
Journal of the ACM (JACM)
Greeding matching algorithms, an experimental study
Journal of Experimental Algorithmics (JEA)
The complexity of flat origami
Proceedings of the seventh annual ACM-SIAM symposium on Discrete algorithms
Word encoding tree connectivity works
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Scheduling time-constrained instructions on pipelined processors
ACM Transactions on Programming Languages and Systems (TOPLAS)
On AC0 implementations of fusion trees and atomic heaps
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Faster Algorithms for Bound-Consistency of the Sortedness and the Alldifferent Constraint
CP '02 Proceedings of the 6th International Conference on Principles and Practice of Constraint Programming
Scaling and related techniques for geometry problems
STOC '84 Proceedings of the sixteenth annual ACM symposium on Theory of computing
Mio: fast multipass partitioning via priority-based instruction scheduling
Proceedings of the ACM SIGGRAPH/EUROGRAPHICS conference on Graphics hardware
Lowest common ancestors in trees and directed acyclic graphs
Journal of Algorithms
Approximating reversal distance for strings with bounded number of duplicates
Discrete Applied Mathematics
Lowest common ancestors in trees and directed acyclic graphs
Journal of Algorithms
Extracting powers and periods in a string from its runs structure
SPIRE'10 Proceedings of the 17th international conference on String processing and information retrieval
The alldifferent constraint with precedences
CPAIOR'11 Proceedings of the 8th international conference on Integration of AI and OR techniques in constraint programming for combinatorial optimization problems
Efficient seeds computation revisited
CPM'11 Proceedings of the 22nd annual conference on Combinatorial pattern matching
Algorithms and constraint programming
CP'06 Proceedings of the 12th international conference on Principles and Practice of Constraint Programming
A linear time algorithm for seeds computation
Proceedings of the twenty-third annual ACM-SIAM symposium on Discrete Algorithms
Matching subsequences in trees
CIAC'06 Proceedings of the 6th Italian conference on Algorithms and Complexity
Finding a feasible flow in a strongly connected network
Operations Research Letters
New directions in scheduling theory
Operations Research Letters
Minimizing the density of terminal assignments in layout design
Operations Research Letters
Efficient seed computation revisited
Theoretical Computer Science
Extracting powers and periods in a word from its runs structure
Theoretical Computer Science
Hi-index | 0.00 |
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 0(m+n) time and 0(n) space. This is a slight but theoretically significant improvement over the fastest known algorithm for the general problem, which runs in 0(m&agr;(m+n, n)+n) time and 0(n) space, where &agr; is a functional inverse of Ackermann's function. Used as a subroutine, the algorithm gives similar improvements in the efficiency of algorithms for solving a number of other problems, including two-processor scheduling, the off-line min problem, 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 a 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 on nonbipartite graphs.