修炼内功---数据结构与算法18---稠密索引

前面我们提到的二分查找适用于有序线性表的查找
此外针对二分查找还有升级版的插值查找
不过一般我们使用二分查找就可以了

二分查找不适用于高速增长的海量数据
因为维护这个排序非常麻烦
所以我们引出索引这种数据结构

索引是为了加快查找速度而设计的一种数据结构
索引就是把一个关键字与它对应的记录相关联的过程
一个索引由若干索引项构成
每个索引项至少包含关键字和其对应记录在存储器中的位置等信息

索引技术是组织大型数据库和磁盘文件的一种重要技术

索引技术分为线性索引、树形索引和多级索引
这里我们只介绍线性索引
所谓线性索引就是将索引项集合组织为线性结构,也称索引表

 

 

在线性索引中,我们重点介绍三种:稠密索引、分块索引和倒排索引

首先是稠密索引
稠密索引是指在线性表中,将数据集中的每个记录对应一个索引项,就像我们上面示例图中的那样。以主键为例,可以将其抽象化如下

 

对于稠密索引这个索引表来说
索引项一定按照关键码有序排列,这样可以应用二分查找,以免索引查找本身影响性能。
可见,稠密索引性能可以做到和二分查找相当(找到对应关键码就可以通过指针直接指向对应记录),
但是索引项长度和数据集一样长,空间复杂度高,如果数据太多需要存放到磁盘上,反复读取磁盘对性能影响很大。

因此,我们又引入了分块索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值