public void ComputeNoInit(TVertex s) { var orderedVertices = AlgorithmExtensions.TopologicalSort(this.VisitedGraph); OnDiscoverVertex(s); foreach (var v in orderedVertices) { OnExamineVertex(v); foreach (var e in VisitedGraph.OutEdges(v)) { OnDiscoverVertex(e.Target); bool decreased = Relax(e); if (decreased) { OnTreeEdge(e); } else { OnEdgeNotRelaxed(e); } } OnFinishVertex(v); } }