hi hello nihao see hey
start: 初始状态,end:结束状态 State { sides next-State }
1.初始化 State root = State.start;
2.插入字符串序列
- 遍历字符串序列,判断当前遍历的字符是否已经存在起始状态的边
- 如果存在,状态转移至已存在的边指向的后一个状态;否则新建一个状态,并将当前状态指向新建的状态;
- 如果已经到了字符串末尾,则指向结束状态
start -> [h] -> 1 -> [i] -> 2 -> end
start -> [h] -> 1 -> [e] -> 3 -> [l] -> 4 -> [l] -> 5 -> [l] -> 6 -> end
start -> [n] -> 7 -> [i] -> 8 -> [h] -> 8 -> [a] -> 10 -> [o] -> 11 -> end
start -> [s] -> 12 -> [e] -> 13 -> [e] -> 14 -> end
start -> [h] -> 1 -> [e] -> 3 -> [y] -> 15 -> end
3.查看文本包含哪些字典单词
- 遍历文本,判断当前遍历的字符是否已经存在起始状态的边
- 如果存在,状态转移至已存在的边指向的后一个状态;否则从起始状态开始继续文本文本下一个字符
- 如果已经到了字符串末尾,找到并记录