John V. Sichi wrote:
> I'll see if I can come up with something efficient when I fix it
> permanently in 0.7.1. There have been requests to keep track of the
> discovery and finish time, so I can probably kill two birds with one
> stone by keeping this info in the "seen data" and using it to know
> whether something is still on the stack or not without linear search.
I've checked a more efficient fix into Subversion. DepthFirstIterator
now keeps track of the standard WHITE/GRAY/BLACK vertex visit states,
and uses them to provide a finish event via TraversalListener. No
timestamps yet. Code review by anyone who has time would be
appreciated; maybe someone can enhance BreadthFirstIterator to publish
vertex finish events in the same way.
Khanh Vu also reported a problem with CycleDetector, which I fixed. It
is now using StrongConnectivityInspector for one of the cases; it should
probably be using it for more of them; I'll see about that as part of
changing StrongConnectivityInspector to use DepthFirstIterator.
I'm going to take care of a few of the other recent requests and then
put out 0.7.1.
JVS
|