设顺序存储的线性表共有l00个元素,按分块查找(索引查找)的要求等分成5块。若对索引表采用二分查找来确定块,并在确定的块中进行顺序查找,则在概率相等的情况下,分块查找成功时的平均查找长度是多少(要求利用∑PiCi来计算并给出详细算式)?
【正确答案】:【答案】分块查找成功时的平均查找长度由对索引表和对块内查找两部分组成。其中对索引表查找的ASL=(1×1+2×2+2×3)/5=2.2,对顺序表查找的ASL=(1+2+…+20)/20=10.5。所以,分块查找成功时的平均查找长度ASL=2.2+10.5=12.7。
解析:分块查找:先在索引表里进行二分查找,确定键值所在块,然后在块内进行顺序查找。