Introduction to algorithms
Fully dynamic algorithms for edge connectivity problems
STOC '91 Proceedings of the twenty-third annual ACM symposium on Theory of computing
Ambivalent data structures for dynamic 2-edge-connectivity and k smallest spanning trees
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
LEDA: a platform for combinatorial and geometric computing
Communications of the ACM
Randomized dynamic graph algorithms with polylogarithmic time per operation
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
Separator based sparsification I.: planarity testing and minimum spanning trees
Journal of Computer and System Sciences
An empirical study of dynamic graph algorithms
Journal of Experimental Algorithmics (JEA)
Sparsification—a technique for speeding up dynamic graph algorithms
Journal of the ACM (JACM)
Average case analysis of dynamic graph algorithms
Proceedings of the sixth annual ACM-SIAM symposium on Discrete algorithms
Experimental analysis of dynamic minimum spanning tree algorithms
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
LEDA: a platform for combinatorial and geometric computing
LEDA: a platform for combinatorial and geometric computing
Stocastic Graphs Have Short Memory: Fully Dynamic Connectivity in Poly-Log Expected Time
ICALP '95 Proceedings of the 22nd International Colloquium on Automata, Languages and Programming
An Experimental Study of Dynamic Algorithms for Directed Graphs
ESA '98 Proceedings of the 6th Annual European Symposium on Algorithms
Algorithm engineering: bridging the gap between algorithm theory and practice
Algorithm engineering: bridging the gap between algorithm theory and practice
Hi-index | 0.00 |
In this paper we describe robust and efficient implementations of two graph connectivity algorithms. The implementations are based on the LEDA library of efficient data types and algorithms [18,19]. Moreover, we provide experimental evaluations of the implemented algorithms and we compare their performance to other graph connectivity algorithms currently implemented in LEDA. The first algorithm is the Karp and Tarjan algorithm [16] for finding the connected components of an undirected graph. The algorithm achieves to find the connected components of a graph G = -V,E} in O(|V|) expected time. This is the first expected-time algorithm for the static graph connectivity problem implemented in LEDA. The experimental evaluation of the algorithm proves that the algorithm performs well in practice, and establishes that theoretical and experimental results converge. The standard procedure provided by LEDA for finding the connected components of a graph, called COMPONENTS has running time O(|V|+|E|). We have compared the performance of Karp and Tarjan's algorithm to the one of COMPONENTS and we have proved that there exists a wide class of graphs (those that they are dense) that the performance of the first algorithm dramatically improves upon the one of the second. The second implemented algorithm is the Nikoletseas, Reif, Spirakis and Yung polylogarithmic algorithm [20] for dynamic graph connectivity. The algorithm can cope with any random sequence of three kinds of operations: insertions, deletions and queries. The experimental evaluation of the algorithm proves that it is very efficient for particular classes of graphs. Comparing the performance of the implemented algorithm to the one of other dynamic connectivity algorithms implemented in LEDA, we conclude that the algorithm always performs better than all these algorithms for dense random graphs and random sequences of operations. Moreover, it works very efficiently even for sparse random graphs when the sequence of operations is long.