20180313分块查找
生活随笔
收集整理的这篇文章主要介绍了
20180313分块查找
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
2019独角兽企业重金招聘Python工程师标准>>>
前置知识
- 是对顺序查找的一种改进。
本期内容
名词解释
- 查找过程
- 将查找表分为各干个子表
- 对子表进立索引表,查找表的每一个子表由索引表中的索引项确定。要求索引项按关键字字段进行有序排列。
- 索引项包括:
- 关键字字段(存放对应子表中的最大关键字值) 【看过其它材料,最小关键字也是可以的】
- 地址字段(存放指向对应子表的指针)
- 查找时,先用给定值x在索引表中检测索引项,以确定所要进行的查找在查找表中的查找分块(由于索引项按关键字字段进行有序排列),然后再对该分块进行顺序查找。
- 将查找表分为各干个子表
- 实际举例
- 平均划分子表,最后一个可以不满;
- 索引项中关键字段呢,就是当前子表中的最大值;
实现
-
时间复杂度
- 是索引查找和子表查找两步之和。具体见纸上的笔记。
-
别人实现
总体评价
- 优点:找到块后,就在该块内进行操作,不需要移动大量记录。
- **主要代价:**增加了一个辅助数组的存储空间和将初始表分块排序的运算。
代码学习
履历
- 20180313整理完,但以下三点没弄清楚
- 代码的实现
- 时间复杂度的计算
- 分块的索引跟K进行对比,有啥科学依据没?是分块的最大值必须和K相等,还是与K的值相减后在合理区间内?【第1块<K<第2块,因为第1块最大的小于K,而第2块是最大的的大于K,所以只能在第二块】
转载于:https://my.oschina.net/wolflion/blog/1633923
总结
以上是生活随笔为你收集整理的20180313分块查找的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 欢庆1024之:程序猿不是你想黑,想黑就
- 下一篇: Repo lesson