Skip to content

Latest commit

 

History

History
33 lines (27 loc) · 1.05 KB

DictionaryTree.md

File metadata and controls

33 lines (27 loc) · 1.05 KB

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.查看文本包含哪些字典单词

  • 遍历文本,判断当前遍历的字符是否已经存在起始状态的边
  • 如果存在,状态转移至已存在的边指向的后一个状态;否则从起始状态开始继续文本文本下一个字符
  • 如果已经到了字符串末尾,找到并记录