Skip to content

2025年 408 数据结构 第 7 题

数据结构2025年选择题2分

题目

已知查找表中有 400 个元素,查找元素概率相同。采用分块查找法且均匀分块。若采用顺序查找法确定元素所在块,且块内也采用顺序查找法,为效率最高,每块包含元素应为( )。

错因

A

凭"块要尽量小"的直觉选了块大小 8。代入 ASL 公式:块数 ,索引平均比较 ,块内平均比较 ,总 ,比最优解 21 高。"块小"会让块数变多,索引开销反而增加。

B

凭"100/10、400/40 这类整除好看"的直觉选了 10。代入:,索引平均 ,块内平均 ,总 ,仍非最优。问题不是"分得整齐"而是"块数与块大小要平衡"。

D

把"块数 = "的口诀里"块数"和"块大小"对换了,或者直接拿 凑了"块大小 25"。块大小 25 时:,索引平均 ,块内平均 ,总 ——只比最优略差,但偏离了等式 的精确条件。

总解析

思路:分块查找的平均查找长度 ,两段都用顺序查找时分别 各自长度的一半,需要使两者之和最小。

符号约定:设总元素数 ,块数 ,块大小 ,则

  • 索引顺序查找:平均比较次数
  • 块内顺序查找:平均比较次数

总平均查找长度

最小化 :由均值不等式 ,等号当且仅当 时成立。

代入

此时 ,是 4 个选项中最小的。

最终答案是 C(每块 20 个元素)

最后更新:

🎬 可视化演示
加载中...

提示:可在可视化区直接操作播放、步进、修改参数