2012年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年6月25日 18:24
阅读数 518
(1)
-
合并 F(200) 和 E(60),比较次数: 200 + 60 - 1 = 259
得到: F E(260)元素的合并表(长度为260)
-
合并这个新表和 D(50),比较次数: 260 + 50 - 1 = 309
得到: (F E D)(310)元素的合并表(长度为310)
-
合并该表和 C(40),比较次数: 310 + 40 - 1 = 349
-
合并该表和 B(35),比较次数: 350 + 35 - 1 = 385
-
最后合并该表和 A(10),比较次数: 385 + 10 - 1 = 394
总比较次数: 259 + 309 + 349 + 385 + 394 = 1696
(2)
采用**“贪心合并”**的策略:
- 每次选择当前长度最短的两个表进行合并。
- 使用优先队列(小顶堆)维护所有表的长度。
- 每次弹出两个最短的表,归并得到新表后,将其长度重新加入堆中,直到只剩一个表。
理由:
- 这种策略可以最大限度地减少每次合并的比较次数,因为合并两个较小的表时比较次数较少,递归合并的一系列结果也保持总体上的优化,从而使总体比较次数最小。
总结:
- 采用贪心的优先合并策略(类似Huffman编码的构建策略),优先合并最短的两表,能有效减小总的比较次数,适用于N个不等长升序表的合并。构造哈夫曼树合并策略
评分及理由
(1)得分及理由(满分7分)
得分:3分
理由:
- 合并过程描述正确,但合并策略不符合哈夫曼树思想(未优先合并最短的两个表),属于其他策略(从最长表开始合并),因此过程描述部分得3分。
- 计算的总比较次数与合并过程一致,但结果错误(应为1696,但标准答案要求最小化比较次数,因此不得分)。
(2)得分及理由(满分3分)
得分:3分
理由:
- 学生正确描述了类似哈夫曼树的贪心合并策略(优先合并最短的两表),并说明了理由,符合标准答案要求,因此得3分。
题目总分:3+3=6分
登录后发布评论
暂无评论,来抢沙发