分块查找

思路:它是顺序查找的一种改进方法。

具体来说是二分查找和顺序查找的结合产物, 即首先在构建的索引表上面进行二分查找, 而后在锁定的区间内进行顺序查找

将n个数据元素"按块有序"划分为m块(m ≤ n)。 每一块中的结点不必有序,但块与块之间必须"按块有序"; 即第1块中任一元素的关键字都必须小于第2块中任一元素的关键字;

  • step1 先选取各块中的最大关键字构成一个索引表;
  • step2 查找分两个部分:先对索引表进行二分查找或顺序查找, 以确定待查记录在哪一块中;然后,在已确定的块中用顺序法进行查找。

代码实现