欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

20180313分块查找

发布时间:2025/7/14 编程问答 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 20180313分块查找 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

前置知识

  • 是对顺序查找的一种改进。

本期内容

名词解释

  • 查找过程
    • 将查找表分为各干个子表
      • 对子表进立索引表,查找表的每一个子表由索引表中的索引项确定。要求索引项按关键字字段进行有序排列。
      • 索引项包括:
        • 关键字字段(存放对应子表中的最大关键字值) 【看过其它材料,最小关键字也是可以的】
        • 地址字段(存放指向对应子表的指针)
    • 查找时,先用给定值x在索引表中检测索引项,以确定所要进行的查找在查找表中的查找分块(由于索引项按关键字字段进行有序排列),然后再对该分块进行顺序查找。
  • 实际举例
    • 平均划分子表,最后一个可以不满;
    • 索引项中关键字段呢,就是当前子表中的最大值;

实现

  • 时间复杂度

    • 索引查找子表查找两步之和。具体见纸上的笔记。
  • 别人实现

总体评价

  • 优点:找到块后,就在该块内进行操作,不需要移动大量记录。
  • **主要代价:**增加了一个辅助数组的存储空间和将初始表分块排序的运算。

代码学习

履历

  • 20180313整理完,但以下三点没弄清楚
    • 代码的实现
    • 时间复杂度的计算
    • 分块的索引跟K进行对比,有啥科学依据没?是分块的最大值必须和K相等,还是与K的值相减后在合理区间内?【第1块<K<第2块,因为第1块最大的小于K,而第2块是最大的的大于K,所以只能在第二块】

转载于:https://my.oschina.net/wolflion/blog/1633923

总结

以上是生活随笔为你收集整理的20180313分块查找的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。