2015-10-07 59 views
-1

我正在构造一个简单的句子,没有空格和标点符号的问题。所以它需要字典来查找这个词是否存在。例如。下面是我如何使用字典在python中创建trie的示例。Trie算法查询

Trie = {o: {on: {one: ""}}} 

现在的问题,我已经是“开”和“一”都是有效的话,在上述问题我总是会选择因此最长匹配的“上”字将不被考虑,但如果我想写这样的代码我该怎么做?就像密钥的值不是另一个字典那么它的一个字但是对于“on”键将是包含较长字的另一字典在这里是它的“一个”。我不能有“的”指向“”,并在同一时间,另一字典!

有些事情不对的地方,也许还有另一种算法中这是这个问题。链接资源,我无所谓

回答

0

介绍一个特殊键这意味着家长可以被认为是叶节点 说'$END$'是我特殊的键我的线索会是什么样子:。

Trie = {o: {on: {one: "", "$END$": ""}}} 

然后你可以检查字典是空的,或者如果它包含特殊密钥。

+0

嘿索林,谢谢你! –