Question

http://en.wikipedia.org/wiki/Minimum_spanning_tree

I'm looking to benchmark my minimum spanning tree algorithm against the best of the best. Does someone know where I can find a C++ implementation of these algorithms? I binged and googled the and didn't find anything. If these algorithms are the best, surely there must be a C++ implementation somewhere?

The fastest minimum spanning tree algorithm to date was developed by David Karger, Philip Klein, and Robert Tarjan, who found a linear time randomized algorithm based on a combination of Borůvka's algorithm and the reverse-delete algorithm.[2][3] The fastest non-randomized algorithm, by Bernard Chazelle, is based on the soft heap, an approximate priority queue.[4][5] Its running time is O(m α(m,n)), where m is the number of edges, n is the number of vertices and α is the classical functional inverse of the Ackermann function. The function α grows extremely slowly, so that for all practical purposes it may be considered a constant no greater than 4; thus Chazelle's algorithm takes very close to linear time. If the edge weights are integers with a bounded bit length, then deterministic algorithms are known with linear running time.[6] Whether there exists a deterministic algorithm with linear running time for general weights is still an open question. However, Seth Petie and Vijaya Ramachandran have found a provably optimal deterministic minimum spanning tree algorithm, the computational complexity of which is unknown.[7]

I already test against Boost C++'s graph algorithms.

No correct solution

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top