在Trie中存储段号

时间:2018-12-08 20:50:48

标签: java keyword trie paragraph

我正在用Java构建Trie。在特里搜索关键字时,关键字条目还需要存储关键字出现在文本中的哪些段落。有人对我将如何在段落中将段落编号与单词一起存储有什么见识吗?我是否要对整个文本编制索引,然后将其放入特里?我有点难过!

1 个答案:

答案 0 :(得分:0)

通常,特里树是通过具有某种节点类型而构造的树,该树具有相同类型的子节点列表,每个子节点又具有一个列表,依此类推。现在,特里树中的每个节点都恰好对应一个单词,反之亦然,因此,如果您在节点类型中添加额外的字段,则可以在其中存储其他信息,例如段落编号。

为了构造该单词,只需遍历每个单词,然后通过遍历Trie并添加缺少的节点将其添加到Trie中,然后用段落编号标记与该单词相对应的节点。 (不是单词传递过程中的每个节点,只有最后一个节点)

请注意,由于一个单词可能出现在多个段落中,因此您可能需要每个节点中的段落编号列表。这样,您还可以在节点中有一个空列表,用于查找文本中不存在的单词。