什么是置换索引?

Posted

技术标签:

【中文标题】什么是置换索引?【英文标题】:What is a permuted index? 【发布时间】:2011-04-30 05:23:09 【问题描述】:

我正在阅读 Accelerated C++。我不明白练习 5-1:

设计并实现一个程序,以根据以下输入生成置换索引。置换索引是这样一种索引,其中每个短语都由短语中的每个单词进行索引。

敏捷的棕色狐狸 跳过栅栏 敏捷的棕色狐狸 跳过栅栏 跳过栅栏 敏捷的棕色狐狸 跳过栅栏 敏捷的棕色狐狸

那个解释对我来说不是很清楚。

【问题讨论】:

我的意思是我没有发现作者发布的这个案例有任何法律。 en.wikipedia.org/wiki/Key_Word_in_Context @larsmans:你能把它复制到这里吗?在我的国家/地区无法访问 Wiki。 @larsmans:也许你不相信,但我真的无法访问 Wiki。 everything2.com/title/permuted+index 【参考方案1】:

术语置换索引是 KWIC 索引的另一个名称,指的是它索引标题的所有循环排列的事实。由许多带有自己描述性标题的短节组成的书籍,最值得注意的是手册页的集合,通常以排列的索引部分结尾,使读者可以通过标题中的任何单词轻松找到一个部分。这种做法已不再常见。

发件人:http://en.wikipedia.org/wiki/Key_Word_in_Context

ps:您可以通过http://www.proxify.com访问***

【讨论】:

【参考方案2】:

您可以在7th Edition UNIX™ Programmer's Reference Manual,第 1 卷(可追溯到 1979 年)中找到置换索引的“实时”示例。它的一个片段(来自 PDF 文件)是:

如果您查找“帐户”,您可以同时找到多个相关条目。你可能不会想到去寻找sa(1)ac(1),更不用说acct(2)acct(5),除非它们被组合在一起。这是置换索引的好处;您可以查找关键字并在更大的上下文中查看它。

您还可以查看同一第 7 版手册中 ptx(1) 命令的手册页条目。

【讨论】:

【参考方案3】:

置换索引是由其上下文包围的按字母顺序排列的索引列表。在输出中,观察粗体字。它们按字母顺序排序,并被其上下文包围。这使我们可以轻松搜索单词并直接从周围的上下文(即您的案例中的单词)推断其用法。

敏捷的棕色狐狸

跳过栅栏

快速棕色狐狸

跳过了栅栏

跳过栅栏

棕狐

跳过栅栏

敏捷的棕狐

【讨论】:

以上是关于什么是置换索引?的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 置换遍历索引

在MATLAB中查找子集的索引

嵌套循环:置换由向量表示的 n 维数组

置换外部存储器的实用算法

从基于源的索引转换为基于目标的索引

字符串置换