文章

91

粉丝

0

获赞

4

访问

9.5k

头像
2020年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月11日 01:28
阅读数 96


评分及理由

(1)得分及理由(满分3分)

学生给出的基本设计思想是:先遍历三个数组计算最小距离D,再遍历输出所有等于D的三元组。这种思路本质上是暴力枚举所有三元组,虽然能正确求解,但效率较低。题目要求"尽可能高效的算法",而暴力法的时间复杂度为O(n1*n2*n3),不是最优解。标准答案中给出了更高效的O(n1+n2+n3)解法。因此扣1分。

得分:2分

(2)得分及理由(满分8分)

学生的代码实现存在以下问题:

  1. 距离计算公式有误:题目定义的D=|a-b|+|b-c|+|c-a|,而学生代码中计算的是|a-b|+|a-c|+|b-c|,虽然数学上等价,但与题目定义不完全一致。
  2. 第二次遍历时变量i、j、k未声明类型(应为int i, j, k),这是语法错误。
  3. 函数名"Min-Distance"中的减号不符合C语言标识符规范,应为下划线。
  4. 输出部分虽然功能正确,但题目只要求输出最小距离,不要求输出所有对应三元组。

代码整体逻辑正确,能够正确计算最小距离,主要问题在于语法细节和函数命名。

得分:6分

(3)得分及理由(满分2分)

学生正确分析了算法的时间复杂度O(n1*n2*n3)和空间复杂度O(1),这与暴力法的复杂度分析一致。

得分:2分

题目总分:2+6+2=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发