重要题型整理:数据结构与算法——索引
索引
索引基本概念
- (数据结构与算法MOOC)假定一个计算机系统有4 096字节的磁盘块,每个磁盘的磁盘号可以用一个四字节的整数表示。要存储的每一条记录中4个字节是关键码,64个字节是数据字段。记录已经排序,顺序地存储在磁盘文件中。我们建立一个稠密索引,该线性索引的结构为:(每个文件磁盘块的最小关键码,该块磁盘的磁盘号),通过线性索引访问磁盘文件中的记录。
如果线性索引也存储在磁盘中(这样它的大小仅受二级索引的限制),而且使用4 096个字节的二级索引,二级索引中的每个单元引用线性索引的磁盘块中最小的关键码值。文件中最多可以存储多少条记录?(由于数字较大,可以用K,M作为单位表示,如32K)
15M
解析:
计算每个磁盘块中的记录数量(下取整): ⌊ 4096 / ( 64 + 4 ) ⌋ = 60 \lfloor4096/(64+4)\rfloor=60 ⌊4096/(64+4)⌋=60
每条索引为4(关键码)+4(磁盘号)=8个字节
线性索引储存在磁盘中,每块磁盘中储存线性索引的条数为 4098 / 8 = 2 9 4098/8=2^9 4098/8=29