跳到正文

外部排序与败者树

45 分钟

本课针对 408 全真卷中的 外部排序与败者树。目标是既能在两分单选中快速排除,也能在十分综合题中保留完整过程。

考纲模型

外部排序由生成初始归并段和多路归并组成;增加归并路数可减少趟数,但需要更多缓冲区。

先定义变量、单位、初始状态与不变量。遇到结构题画字段,遇到时序题画时间线,遇到算法题写输入输出和终止条件。结论必须由题设推出,不能依赖背过的某一道题。

综合推演

有 r 个初始归并段,k 路归并趟数为 ceil(log_k r)。败者树用于高效选择多个有序段当前最小记录。

书写顺序固定为:规则或公式、参数代入、中间状态、最终结论。计算完成后做数量级与边界检查;代码实现还要验证空图、不可达、重复访问和最小规模。

高频失分点

不能只算归并趟数,还要考虑每趟读写全部数据;初始归并段长度受内存块数限制。

全真训练中,选择题最多用反例与量词检查;综合题即使最后数值错误,也要保留可评分的中间式、状态表和复杂度。代码题必须真运行,不接受只覆盖样例的硬编码。

课后验收

完成本课单选、多选和综合应用题。单选解释三个错误项,多选不得漏选;计算保留单位,文本按要点作答,代码必须通过四个独立测试。次日遮住答案重做,并记录耗时。

Practice

本课练习

3

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

1全真单选:外部排序与败者树 2

下列说法正确的是哪一项?

登录 后答题可以领小红花
2全真多选:外部排序与败者树 2

选择所有正确说法,漏选或多选均不得分。

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以领小红花
3全真综合:外部排序与败者树 4

有64个初始归并段,采用4路平衡归并,需要多少趟归并?

登录 后答题可以领小红花