数据结构(十)——索引之静态索引和倒排索引

本文介绍了数据结构中的静态索引和倒排索引。静态索引分为稠密索引和稀疏索引,主要用于提高数据检索效率,而倒排索引则分为基于属性和正文文件的,尤其在全文检索中表现出色。倒排索引通过建立词表和倒排文件,实现快速查找目标文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

静态索引

基本概念与术语

  • 输入顺序文件:按照记录进入系统的顺序存储记录,输入顺序文件相当于未排序的线性表
  • 主码:数据库中每条记录的唯一标识
  • 辅码:数据库中可以出现重复值的码(注意,主码是唯一的,就类似于一个名字可以对应很很多人,但是一个身份证号就只可对应一个人),辅码索引把一个辅码值与具有这个辅码值得每一条记录的主码值关联起来。
  • 索引:一个关键码与它对应的数据记录的位置相关联的过程
  • 索引文件:用于记录这种联系的文件的组织结构
  • 稠密索引:主文件关键码未排序、对每个记录都建立一个索引(一一对应)
  • 稀疏索引:已排序、关键码顺序分块、索引指向这一组记录在磁盘中的起始位置(类似于索引排序,建立子表)

静态索引

  • 索引结构在一开始文件建成的时候就生成
  • 只有当文件再组织时才允许改变索引结构
  • 这里有一种结构:多分树(二叉树转化成多分树,类似于B-树,访问外存3次,其中2次访问索引块,1次访问外存数据块)
  • 这里就有基于多分树的ISAM文件(在我的另一篇博客——《数据结构之外部排序文件》中有提到,这里就不再赘述)

倒排索引

倒排索引分成两种,一种是基于属性的倒排,一种是对正文文件的倒排

基于属性的倒排

  • 按照属性建立的索引
  • 基于“属性-指针”对 索引
    (图片来自于《北京大学-数据结构与算法》)在这里插入图片描述
  • 对以上的图片建立基于属性的索引可得到
    (图片来自于《北京大学-数据结构与算法》)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值