什么是排列索引?

25

我正在阅读《加速C++》。 我不理解练习5-1:

设计和实现一个程序,从以下输入中生成一个置换索引。 置换索引是每个短语都由短语中的每个单词索引的索引。

     The quick      brown fox 
jumped over the     fence
The quick brown     fox 
                    jumped over the fence
         jumped     over the fence
            The     quick brown fox 
    jumped over     the fence
                    The quick brown fox

那个解释对我来说不清楚。 什么是置换索引?


置换索引是一种将文本转换为单词列表并按照字母顺序排序的方法。 对于每个单词,它将标识包含该单词的所有短语,并按照每个单词在短语中出现的位置进行索引。 换句话说,每个单词都成为索引的关键字,而相应的索引条目列出了包含该单词的所有短语及其位置。

我的意思是,在作者发布的这个案例中,我没有发现有任何法律条款。 - Darson
3
http://en.wikipedia.org/wiki/Key_Word_in_Context - Fred Foo
@larsmans:你能把它复制到这里吗?维基无法在我国访问。 - Darson
@larsmans:也许你不信,但我真的无法访问维基百科。 - Darson
1
http://everything2.com/title/permuted+index - Jogusa
3个回答

8
您可以在1979年的第七版UNIX™程序员参考手册,第1卷中找到一个排列索引的“实际”示例。其中的一部分(来自PDF文件)如下所示:

Extract from start of Permuted Index for 7th Edition Unix Programmer's Reference Manual Vol 1

如果您搜索“账户”,您可以找到一些相关的条目。除非它们被分组在一起,否则您可能不会想到同时查找sa(1)ac(1),更不用说acct(2)acct(5)了。这就是排列索引的好处;您可以查找关键字并在更大的上下文中看到它。
您还可以查看同一第7版手册中ptx(1)命令的man页面条目。

8
“Permuted index”是KWIC索引的另一个名称,它指的是索引所有标题的循环排列。由许多短节组成并具有自己描述性标题的书籍,尤其是手册页面集合,通常以置换索引部分结束,使读者可以通过任何标题单词轻松找到某个部分。这种做法现在已不常见。”来源:http://en.wikipedia.org/wiki/Key_Word_in_Context。提示:您可以通过http://www.proxify.com访问维基百科。

6
Permuted index是一个按字母顺序排列的索引列表,其周围有上下文。在输出中,请注意粗体单词。它们按字母顺序排序,并且被其上下文所包围。这使我们可以轻松搜索一个单词,并直接从周围的上下文即单词中推断出其用法。
快速的brown狐狸
跳过了fence 快速的棕色fox 过篱笆
跳过fence 快速的brown狐狸
跳过了the fence The快速的棕色狐狸

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接