Worst-case Analysis of Set Union Algorithms
Journal of the ACM (JACM)
Practical parallel union-find algorithms for transitive closure and clustering
International Journal of Parallel Programming
Wait-free parallel algorithms for the union-find problem
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Introduction to Algorithms
A fast, parallel spanning tree algorithm for symmetric multiprocessors (SMPs)
Journal of Parallel and Distributed Computing
New Acyclic and Star Coloring Algorithms with Application to Computing Hessians
SIAM Journal on Scientific Computing
The university of Florida sparse matrix collection
ACM Transactions on Mathematical Software (TOMS)
Experiments on union-find algorithms for the disjoint-set data structure
SEA'10 Proceedings of the 9th international conference on Experimental Algorithms
Data-parallel mesh connected components labeling and analysis
EG PGV'11 Proceedings of the 11th Eurographics conference on Parallel Graphics and Visualization
A new scalable parallel DBSCAN algorithm using the disjoint-set data structure
SC '12 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Scalable parallel OPTICS data clustering using graph algorithmic techniques
SC '13 Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis
Hi-index | 0.00 |
The Union-Find algorithm is used for maintaining a number of non-overlapping sets from a finite universe of elements. The algorithm has applications in a number of areas including the computation of spanning trees, sparse linear algebra, and in image processing. Although the algorithm is inherently sequential there has been some previous efforts at constructing parallel implementations. These have mainly focused on shared memory computers. In this paper we present the first scalable parallel implementation of the Union-Find algorithm suitable for distributed memory computers. Our new parallel algorithm is based on an observation of how the Find part of the sequential algorithm can be executed more efficiently. We show the efficiency of our implementation through a series of tests to compute spanning forests of very large graphs.