文章

103

粉丝

0

获赞

0

访问

3.6k

头像
2012年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年6月25日 18:24
阅读数 54

(1)

  1. 合并 F(200) 和 E(60),比较次数: 200 + 60 - 1 = 259
    得到: F E(260)元素的合并表(长度为260)

  2. 合并这个新表和 D(50),比较次数: 260 + 50 - 1 = 309
    得到: (F E D)(310)元素的合并表(长度为310)

  3. 合并该表和 C(40),比较次数: 310 + 40 - 1 = 349

  4. 合并该表和 B(35),比较次数: 350 + 35 - 1 = 385

  5. 最后合并该表和 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分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发