分块查找(block search),理学-计算机科学技术-计算机科学理论-算法-查找算法,分块查找是一种结合了顺序查找和二分查找的查找算法。算法结合了两者各自的优点,不要求块内元素有序,又有较高的查找效率。又称索引顺序查找。基本原理二分查找具有很好的性能,但其前提条件是线性表需要顺序存储而且按照关键字排序,这个前提条件在结点数很大且表元素动态变化时是难以满足的。而顺序查找虽然可以解决表元素动态变化的要求,但是查找效率却很低。如果既要保持对线性表的查找具有较快的速度,又要能够满足表元素动态变化的要求,则可采用分块查找的方法。分块查找的速度虽然不如二分查找算法,但比顺序查找算法快得多,同时不需要对全部节点进行排序。当节点很多且块数很大时,对索引表可以采用二分查找,这样能够进一步提高查找的速度。分块查找要求把一个大的线性表分解成若干块,每块中的节点可以任意存放,但块与块之间必须排序。对于任意的i,第i块中的所有节点的关键码值都必须小于第i+1块中的所有节点的关键码值。如下图所示。