有人能帮我理解下面的代码吗? countWords(vertex, word, missingLetters)
k=firstCharacter(word)
if isEmpty(word)
return vertex.words
else if notExists(edges[k]) and missingLetters=0
return 0
我想用nltk.containers.Trie来执行简单的操作,比如插入一个单词到trie中,检索所有带有给定前缀的单词,找到具有大多数后代的节点(即最常见的前缀),以图形方式查看trie等等。我找不到有关使用这种结构的任何文档。这是我迄今为止所有的: from nltk.containers import Trie
t = Trie()
我现在有一个单词列表,我需要添加到trie中。
我一直在玩trie实践的数据结构(没有课程工作相关)。该类用于存储字符串的子字符串。对于长度为n的字符串,总共有子字符串n(n+1)/2。特别是,trie的这种实现保留了自然排序并且比随机字符串上的TreeMap或TreeSet更有效。存储单个字符而不是整个字符串会节省内存。 我认为存储子字符串后缀数组可能是更好的方法,但我想确保这个trie类在开始一个新项目之前对速度进行合理优化。 class