Beispiel #1
0
        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);
        }