public static IEnumerable <string> search(string oriWord, int maxDist, TrieDictionary dict) { LenvstnNFA nfa = LenvstnNFA.BuildNFA(oriWord, maxDist); //nfa.Show(); LenvstnDFA dfa = SubsetMachine.SubsetConstruct(nfa); //dfa.Show(); List <string> output = new List <string>(); DFSserach(dfa, dfa.start, dict.Root, output); return(output); }
public static IEnumerable <string> search(string oriWord, int maxDist, TrieDictionary dict) { LenvstnNFA nfa = LenvstnNFA.BuildNFA(oriWord, maxDist); Console.WriteLine("-------------- NFA ----------------------"); Console.WriteLine(nfa.ToDotGraph()); Console.WriteLine("-------------------------------------"); LenvstnDFA dfa = SubsetMachine.SubsetConstruct(nfa); Console.WriteLine("------------------ DFA -----------------------"); Console.WriteLine(dfa.ToDotGraph()); Console.WriteLine("-------------------------------------"); List <string> output = new List <string>(); DFSserach(dfa, dfa.start, dict.Root, output); return(output); }