当前位置: 首页 > 面试题库 >

Java中有Trie吗?

冯流觞
2023-03-14
问题内容

我想在Java中使用Trie,有没有可以使用的实现?(我尝试寻找一个,但没有找到)。


问题答案:

核心Java库中没有trie数据结构。

这可能是因为尝试通常被设计为存储字符串,而Java数据结构更通用,通常包含任何字符串Object(定义相等性和哈希操作),尽管有时它们限于
Comparable对象(定义顺序)。尽管CharSequence适用于字符串,但没有通用的“符号序列”抽象,我想您可以Iterable为其他类型的符号做些事情。

这是要考虑的另一点:当尝试在Java中实现传统的trie时,您很快就会遇到Java支持Unicode的事实。为了获得某种形式的空间效率,您必须将Trie中的字符串限制为某些符号子集,或者放弃将符号节点索引的数组中存储子节点的常规方法。这可能是为什么尝试被认为不够通用而无法包含在核心库中的另一个原因,并且是您实施自己的库或使用第三方库时要提防的地方。



 类似资料:
  • 问题内容: 是否有任何库或文档/链接提供了有关在Java中实现Trie数据结构的更多信息? 任何帮助将是巨大的! 谢谢。 问题答案: 您可以阅读Java Trie 或查看trie。

  • 我对tries和DAWGs(直接无环字图)很感兴趣,我已经读了很多关于它们的东西,但我不明白输出trie或DAWG文件应该是什么样子。 null 我也会很感激一个DAWG和Trie的输出。 我不想看到带有相互链接的气泡的图形表示,我想知道一旦一组单词被转换为try或dawgs后的输出对象。

  • 我正在实现一个植入拼写词典的trie。trie的基本元素是一个trienode,它由一个字母部分(char)、一个标志(这个char是否是单词的最后一个char)和一个由26个指针组成的数组组成。 TrieNode类的私有部分包括: 这是测试调用的一部分: 现在,我正在尝试遍历trie以计算有多少单词(有多少标志被设置为true)。 每次函数返回0。我知道这是因为当数组中的第一个元素为null时,

  • 在本教程之后,我遇到了Trie数据结构。因为最近我一直在用PHP编程,所以我试图用它来解决讲座中的问题。我能够获得正确的答案,但只适用于较小的输入(输入#10是一个2,82 MB的文件)。显然,我的算法缩放不好。它还超过了PHP默认的128 MB内存限制。 Trie中存储了一个根节点。每个节点都有一个“子”成员。我使用标准PHP数组来存储子对象。子键表示一个字符(目前我正在为每个字符创建一个新节点

  • 本文向大家介绍Trie树(字典树)的介绍及Java实现,包括了Trie树(字典树)的介绍及Java实现的使用技巧和注意事项,需要的朋友参考一下 简介 Trie树,又称为前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。 它的主

  • 我目前正在开发一个trie实现: 从文本文件中读取单词 逐个字符迭代该单词 将字符的按字母顺序排列的索引号附加到新节点并附加到根节点 我在第三步遇到了麻烦。 你看,我在第三步尝试做的是: null 对于第3步,我已经做了: 它设置root以便它现在是下一个节点 我在这些陈述中犯了什么逻辑错误吗?