private void TopologicalSortVisit(VertexSSSP <T> vertex, Stack <VertexSSSP <T> > stack) { vertex.Visited = true; foreach (var edge in edges.Where((e) => e.From.Equals(vertex))) { if (!(edge.To as VertexSSSP <T>).Visited) { TopologicalSortVisit(edge.To as VertexSSSP <T>, stack); } } stack.Push(vertex); }
public int CompareTo(VertexSSSP <T> other) { return(ShortestPathEstimate.CompareTo(other.ShortestPathEstimate)); }