ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据--第49课 - 线性索引查找

2019-08-11 19:04:25  阅读:241  来源: 互联网

标签:倒排 索引 记录 关键字 查找 49 关键码


第49课 - 线性索引查找

1. 索引的概念

索引是把一个关键字与它对应的记录相关联的过程。索引由若干个索引项构成,每个索引项包括关键字和其对应记录的位置,索引技术是组织大型数据库以及磁盘文件的重要技术。

线性索引:将索引项组织成线性结构。

非线性索引:将索引项组织成树形结构或图形结构。

 

2. 线性索引

(1)稠密索引:将数据集中的每个记录都做成一个索引项后存入线性表中。

 

(2)稠密索引的基本思想

① 将数据记录的(关键码、地址)组织成索引表,并排序。

② 当需要通过某个关键字key的值进行查找时可以利用二分查找或者插值查找等算法对(关键码,地址)表进行查找。

③ 通过查找结果中的地址可以直接得到数据记录。

(3)稠密索引的特点

不需要对数据记录本身进行组织或者排序。

每一条数据记录对应索引表中的一个索引项。

(4)稠密索引的缺陷

当索引表不能完全放置于内存中时,查找效率将大打折扣。

(5)分块索引

分块索引的思想同样来源于生活中。

将数据集中的记录分成若干块。

块内无序:每一块中的记录可以是无序的.

块间有序:第n块中所有记录的关键字必须大于第n-1块中任一记录的关键字。

 

(6)分块索引的基本思想

以(最大关键码,块长,块指针)的方式组织索引表,并排序。

利用二分查找或者插值查找等在索引表中查找关键字所在块。

根据块首指针找到对应的块,并在块中查找数据记录。

(7)分块索引的特点

① 不需要为每个数据记录分配一个索引项。

② 块中的数据记录可以是杂乱的,只要能进行顺序查找即可。

③ 块间的数据记录必须是有序的,第n块中所有记录的关键字必须大于第n-1块中任一记录的关键字。

 

 

3. 倒排索引

倒排索引将非关键码组织成(非关键码,地址)索引表。

倒排索引的索引表结构类似稠密索引。

倒排索引与稠密索引的区别在于:倒排索引的每个索引项可以对应多个记录,倒排索引的索引项不会缩着数据记录的增加有明显的增加。

 

示例:

英文单词(次关键码)

编号(地址)

and

0,1,4

android

0,2,5

boy

1,4,7

book

0,1,4

but

5,6

few

3,5,7

friend

0,7

good

1,2,3,4

should

5,7

 

倒排索引的应用—简单搜索引擎

(1)      网站管理员提交他们的网站链接。

(2)      以英文单词作为次关键码遍历网站中的页面。

(3)      将遍历产生的索引项加入索引表。

(4)      将索引表中的索引项按照次关键字进行排序。

(5)      将网站页面链接加入链接线性表中。

 

 

小结:

线性索引是线性表和排序算法以及查找算法的一个组合应用。首先将索引项组织到线性表中,其次对索引表进行排序,最后对排序好的索引表进行查找得到数据记录。

稠密索引,分块索引和倒排索引是最基础三种索,有着各自的应用场合。

 

标签:倒排,索引,记录,关键字,查找,49,关键码
来源: https://www.cnblogs.com/free-1122/p/11336102.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有