private TVertex NextState(BaseVertex state, char token) { TVertex next = null; var edges = Graph.Edges.Where(edge => edge.Source.GetHashCode() == state.GetHashCode() && edge.Tag.Equals(token)).ToList(); if (edges.Count != 0) { next = edges[0].Target; } return(next); }
private HashSet <BaseVertex> FindVertex(BaseVertex state, char token) { var findsStates = new HashSet <BaseVertex>(); var edges = Graph.OutEdges(state).Where(edge => token.Equals(edge.Tag)); foreach (var edge in edges) { findsStates.Add(edge.Target); } return(findsStates); }