【10.1】检索--检索基本概念
一、基本概念
检索:
在一组记录集合中找到关键码值等于 给定值的某个记录,戒者找到关键码 值符合特定条件的某些记录的过程
检索的效率非常重要:
- 尤其对于大数据量
- 需要对数据进行特殊的存储处理
二、提高检索效率的方法
-
预排序
-
排序算法本身比较费时
-
只是预处理(在检索之前已完成)
-
建立索引
-
检索事充分利用辅助索引信息
-
牺牲一定的空间
-
从而提高检索效率
-
散列技术
-
把数据组织到一个表中
-
根据关键码的值确定表中记录的位置
-
确定:不适合进行范围查询; 一般也不允许出现重复关键码
当散列方法不适合于基于磁盘的应用 程序时,我们可以选择 B 树方法
三、平均检索长度(ASL)
-
关键码的比较:检索运算的主要操作
-
平均检索长度(Average Search Length)
-
检索过程中对关键码的平均比较次数
-
衡量检索算法优劣的时间标准
四、检索算法评估的其他问题
- 衡量一个检索算法还需要考虑
- 算法所需的存储量
- 算法的繁杂性
- …
四、思考
- 假设线性表为(a, b, c)检索 a、b、c 的概率分别为 0.4、0.1、0.5
- 顺序检索算法的平均检索长度是多少?(即 平均需要多少此次比较给定值与表中关键码 值才能找到待查元素)
参考资料
北京大学 《数据结构与算法》 张铭、赵海燕、宋国杰、黄骏、邹磊、陈斌、王腾
这里是一个广告位,,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn