我正在研究构造句子的简单问题,没有空格和标点符号。所以它需要字典才能找到这样的单词是否存在。例如。下面是我如何使用dict在python中创建trie的示例。
Trie = {o: {on: {one: ""}}}
现在我的问题是,“on”和“one”都是有效的单词,在上面的问题中我会总是选择最长的匹配因此“on”这个词不会被考虑但是如果我想写这样的代码我该如何去做?就像密钥的值不是另一个字典然后它的一个字但是对于“on”键将是另一个包含更长字的字典,这里是“one”。我不能“开”指向“'并同时指向另一个字典!
某处出了点问题,也许还有另一个算法可以解决这个问题。链接到资源对我来说很好
答案 0 :(得分:0)
引入一个特殊键,表示父可以被视为叶节点。
说self.places = [json objectForKey:@"results"];
[self.tableView reloadData];
是我的特殊关键。我的特里看起来像:
'$END$'
然后你可以检查dict是否为空或者是否包含特殊键。