【发布时间】:2020-02-15 21:50:29
【问题描述】:
我遇到过这个:
搜索引擎存储的核心信息是一个字典,称为倒排 索引或倒排文件,存储键值对 (w,L),其中 w 是单词,L 是 包含单词 w 的页面集合。这本词典中的键(词)是 称为索引词,应该是一组词汇条目和专有名词 尽可能大。该字典中的元素称为出现列表,并且 应该覆盖尽可能多的网页。
我们可以有效地实现倒排索引,其数据结构包括 以下内容:
- 存储术语出现列表的数组(无特定顺序)。
- 索引术语集的压缩树,其中每个叶存储索引 关联词的出现列表。 将出现列表存储在 trie 之外的原因是为了保持 尝试足够小的数据结构以适合内部存储器。相反,由于 它们的总大小很大,出现列表必须存储在磁盘上。
我不明白。如果使用字典来存储出现列表,那么 trie 的目的是什么?如果我无论如何都要在字典中搜索这个词,为什么还要费心呢?
编辑:引用来自 Michael T. Goodrich、Roberto Tamassia、Michael H. Goldwasser 的 Python 中的数据结构和算法
【问题讨论】:
标签: python tree search-engine trie inverted-index