当前位置: 首页 > 知识库问答 >
问题:

Trie数据结构:tp如何在搜索一个单词时防止误报?

夏博
2023-03-14
class Node{  
 Map<Character,Node> childMap = new HashMap<>();
 boolean isWord;
}

trie数据节点通常被描述为上面的类。假设我们插入了

  • “坏”
  • “父”


如果trie在trie中搜索“pad”,它不会返回一个错误的“true”吗?

共有1个答案

荆钱明
2023-03-14

不,它不会返回真。如果是这样,要么是代码中有bug,要么是您不理解trie的概念。

如果插入“bad”和“parent”,则trie将如下所示:

(root)->b->a->d
  |  
  +---->p->a->r->e->n->t

找不到“pad”

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

  • 我正在用java编写一个程序,在一个.txt文件中搜索单词列表(事务编号)。txt文件可以有任意行数。 有没有办法处理这种情况?

  • 问题内容: 我第一次使用Postgresql,并且试图在我的网站中创建一个搜索引擎。我有这张桌子: 然后我为表的每个字段创建了一个索引(这是正确的方法吗?或者我可以为所有字段创建一个索引?): 现在,如果我想在每个索引中搜索一个单词,SQL查询是什么? 我尝试了这个,它的工作原理: 是否存在更好的方法来做到这一点?我可以搜索多个吗?我的一个朋友提出了一个解决方案,但这是针对MySQL数据库的: P

  • 给出一个二维板和字典中的单词列表,找出板中的所有单词。 每个单词必须由顺序相邻单元格的字母构成,其中“相邻”单元格是那些水平或垂直相邻的单元格。同一个字母单元格在一个单词中不能使用不止一次。 例如,给定单词和board= 回归[“吃”“誓”]

  • 当从trie中删除一个单词时,如果该单词的节点没有被用于另一个单词,我会尝试删除该单词的节点。 所以我不想在删除一个单词时仅仅标记一个节点。真正应该删除未使用的节点。 我在这里漏掉了什么? 我像这样从另一个类的trie实例调用函数:

  • 我想从文件。 示例: 我想给我们一种动态命令,因为我不必每次为每个用户手动输入。 我试过了 但这并没有达到预期的效果。