索引和散列

顺序索引

1、稠密索引:对应文件中搜索码的每一个值有一个索引记录。索引记录包括搜索码值以及指向具有该搜索码值的第一个数据记录的指针。可更快定位记录。

2、稀疏索引:只为搜索码的某些值建立索引记录。占空间较小,插入和删除时的维护开销较小。

多级索引

在主索引上构造一个稀疏索引,如果要搜索一个记录,首先在外层索引上用二分法找到不大于所需搜索码值的最大收缩码值锁对应的记录。指针指向一个内层索引块。我们对这一块做扫描,知道找不到不大于所需搜索码值的最大搜索码值所对应的记录。这一记录的指针指向包含所查找记录的文件块。

B+树索引文件

典型的B+树结点结构最多包含n-1个搜索码值,以及n个指针,马格结点中的索引码值按次序存放。


散列索引

动态散列法:

开始时,散列值的b位不必全部使用,任意时刻使用的位数i满足0<=i<=b。这样的i个位作为附加的桶地址表的入口偏移量。i的值伴随着数据库大小的变化而增大或减小。


图中出现在桶地址上方的i表明散列值h(K)中有i位需要用来决定对应于K的桶。几个连续的表项可能指向同一个桶,它们有一个共同的散列前缀,其长度可能小于i。因此,给每一个桶附加一个整数值,用来

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值