数据结构 之 检索 (分块检索、hash)

基本概念

检索:一组记录集合中找到关键码值等于给定值的某个记录,或者找到关键码值符合特定条件的某些记录的过程

提高检索效率的方法:预排序、建立索引、散列技术(当不适于磁盘应用程序时可以选择B树)

平均检索长度是衡量一个检索算法优劣的时间标准(ASL)


基于线性表的检索

顺序检索
检索成功时ASL = (n+1)/2,失败时为n+1,检索平均时间O(n),优点:新加入元素可以直接插在表尾

二分检索
O(logn),缺点:序列要有序,顺序存储,不易更新

分块检索
顺序检索和二分检索的折中,将n个数据分成b块,块内是无序的,块间是有序的。这就引入了索引表的概念,索引表记录了各块中的最大关键码、及各块起始位置、可能还需要块中元素个数(每一块可能不满)。
检索的时候,如果块间、块内使用顺序检索,ASL = (b+1)/2+ (s+1)/2, s是每块内的数量,b是块数量,当s= sqrt(n) 时,ASL取最小值, ASL= +1 ≈  
当块间使用二分检索,块内使用顺序检索时, ASL = ASL b + ASL w =
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值