Quantcast
Channel: quickgraph Work Item Rss Feed
Viewing all articles
Browse latest Browse all 25

Commented Unassigned: Finding Disconnected Subgraphs or Components [25751]

$
0
0
In my graphs, I generally have at least two completely disconnected subgraphs or components. These components may be of 1 or N vertices. I can easily detect orphans, but not components.

Orphans are easy:

myGraph.Vertices.Where(v => myGraph.InDegree(v) == 0)

I have no idea how to get the disconnected components. Ideally, I'd like to return an IEnumerable<BidirectionalGraph<T>> from myGraph which is BidirectionalGraph<T>.
Comments: ** Comment from web user: bobby751 **

Actually for those interested there is a solution given in another post.
-> Solution given in the comments to solve the bug in "CondensationGraphAlgorithm".

One it is solved (I tried by adding a CondensationGraphAlgorithm2 in a new class, with the corrected code), you can get what you want like this (it is basically the code of "g.CondensateWeaklyConnected" actually!)


var condensator = new QuickGraph.Algorithms.Condensation.CondensationGraphAlgorithm2<DataVertex, DataEdge, CalculationEngineGraph>(this.CalculationEngineGraph);
condensator.StronglyConnected = false;
condensator.Compute(); // Throws KeyNotFoundException if edgeless vertex is added
var condensed = condensator.CondensedGraph;

It should be simple to correct the code. I don't know if only the owner of the project can change it.


Viewing all articles
Browse latest Browse all 25

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>