trie

    -1热度

    1回答

    我正在尝试使用Trie实现t9算法。有人可以建议如何计算给定数字输入的所有单词排列(有效或无效)。 对于例如在T9电话:2 ABC,3 DEF,4个GHI ...... 9 WXYZ 所以如果用户按压可形成234,3^3个字: adg,aeh,afi,bdg,bei,cfh ..... 我想在java中对其进行编码。

    6热度

    5回答

    我正在寻找一个很好的介绍/教程Tries。 我发现Google的大多数链接对我来说太过简单和抽象,或者太微不足道。 难道有人请给我提供一个很好的参考Java中的例子,供我学习? 感谢

    0热度

    2回答

    有人能帮我理解下面的代码吗? countWords(vertex, word, missingLetters) k=firstCharacter(word) if isEmpty(word) return vertex.words else if notExists(edges[k]) and missingLetters=0 return 0

    2热度

    1回答

    我想用nltk.containers.Trie来执行简单的操作,比如插入一个单词到trie中,检索所有带有给定前缀的单词,找到具有大多数后代的节点(即最常见的前缀),以图形方式查看trie等等。我找不到有关使用这种结构的任何文档。这是我迄今为止所有的: from nltk.containers import Trie t = Trie() 我现在有一个单词列表,我需要添加到trie中。

    1热度

    1回答

    我一直在玩trie实践的数据结构(没有课程工作相关)。该类用于存储字符串的子字符串。对于长度为n的字符串,总共有子字符串n(n+1)/2。特别是,trie的这种实现保留了自然排序并且比随机字符串上的TreeMap或TreeSet更有效。存储单个字符而不是整个字符串会节省内存。 我认为存储子字符串后缀数组可能是更好的方法,但我想确保这个trie类在开始一个新项目之前对速度进行合理优化。 class

    0热度

    2回答

    所以我做了一个拥有相当大量数据的trie,我的搜索算法相当快,但我想看看是否有人对我如何更快地实现它有所了解。 bool search (string word) { int wordLength = word.length(); node *current = head; for (unsigned int i=0; i<wordLength; ++i)

    1热度

    1回答

    我试图理解并使用这个Double-Array Trie implementation。但是,我似乎理解他们提出的理论实现和代码之间的类比。 准确地说,以下是使用的主要线索结构: struct _Trie { AlphaMap *alpha_map; DArray *da; Tail *tail; Bool is_dirty; }; 如果有人使用此实施,可以请你提供用以下结构的

    13热度

    1回答

    我已经经历了尝试和三元搜索树,我对它们有一些疑问。我已经谷歌搜索的答案,但我不能得到这些具体的答案。所以,这是我的问题。 如果尝试空间效率低下并且TST结合了BST的最佳效果并尝试,这是否意味着尝试实际上根本不被使用? 假设TST用于自动完成,..如何在谷歌的情况下工作?我的意思是,我们实际上没有一套固定的单词等等,那么TST树将如何构建?

    86热度

    7回答

    我是Python新手,想要学习和发展。我对TRIE和DAWG感兴趣,我一直在阅读很多内容,但我不明白输出TRIE或DAWG文件应该是什么样子。 TRIE是否应该是嵌套字典的对象?其中每个字母 被分成字母等? 如果有100k或500k条目,在这样的字典上执行查找会快吗? 如何实现由多个单词组成的单词块或用空格分隔? 如何将单词的前缀或后缀链接到结构中的其他部分? [对于DAWG] 我想了解的最佳输出

    1热度

    4回答

    我必须在内存中存储大约50,000个英文单词,并且我想知道什么是内存占用方面的最佳数据结构(以及加载速度)。会不会是Trie?我如何将它序列化为一个文件?还有比这更好的吗? 从本质上讲,一旦〜50,000个字被加载到内存中,我只需要检查该单词是否存在。