对于具有“icecream”(包含'i','ice','cream','icecream')等子词的单词,trie的结构是什么? “商人”(包含'公共汽车','是','商业','男','商人')。
我知道对于那些没有像“旅馆”这样的子词的人会怎样,但我对上述词语感到困惑。
提前致谢。
答案 0 :(得分:4)
您可以在trie节点中使用布尔值“isTerminal”来指示单词是否在该节点处终止。 因此,所有单词'bus','business'和'businessman'将从节点'b'开始并沿着相同的路径行进。 ''''为'bus','s'为'business'和'n'为'business'的节点将具有isTerminal = true。
虽然'man'包含在'businessman'中,但它应该被视为从'm'子节点开始的单词,从root用户和单独的路径开始。
因此,所有单词都从顶部字母节点(root的子节点)严格开始,并以boolean isTerminal = true指示的不同级别终止。