数据结构:索引之线性索引

声明:本文为学习 数据结构与算法分析(第三版) Clifford A.Shaffer 著 的学习笔记,代码有参考该书的示例代码。

索引

索引(indexing)是把一个关键码与它对应的数据记录的位置相关联的过程。

主码(primary key)是数据库中的每一条记录唯一的标识。
辅码(secondary key)是数据库中多条记录具有的相同的关键码值。

索引技术有线性索引、ISAM索引和基于树的索引。
这里简单说说线性索引中的倒排表。会有更详细的内容说明基于树的索引(2-3树、B树、B+树、红黑树等)

倒排表

由辅码与一个或多个标识号关联起来,标识号索引再关联一个标识号和一个完整记录的指针关联起来,这样组织起来的辅码索引称为倒排表(inverted list)或倒排文件(inverted file)。
数据结构:索引之线性索引_第1张图片

倒排表有一种简单的变体,这种会更容易从数组中插入和删除,如下:

倒排表中辅码与记录主码数组通过索引关联起来,而主码中增加next 指针域,关键起多个记录。

基于树的索引在博客的后续文章中介绍。

–END–

你可能感兴趣的:(数据结构,索引)