分块查找

 

分块查找法要求将列表组织成以下索引顺序结构:

首先将列表分成若干个块(子表)。一般情况下,块的长度均匀,最后一块可以不满。

每块中元素任意排列,即块内无序,但块与块之间有序。

构造一个索引表。其中每个索引项对应一个块并记录每块的起始位置,和每块中最大

关键字(或最小关键字)。索引表按关键字有序排列。

图 1-2 所示为一个索引顺序表。其中包括三个块,第一个块的起始地址为 0,块内最

大关键字为 25;第二个块的起始地址为 5,块内最大关键字为 58;第三个块的起始地址为

10,块内最大关键字为 88。

 

分块查找的基本过程如下:

(1)首先,将待查关键字 K 与索引表中的关键字进行比较,以确定待查记录所在的

块。具体的可用顺序查找法或折半查找法进行。

(2)进一步用顺序查找法,在相应块内查找关键字为 K的元素。

你可能感兴趣的:(分块查找)