文章

95

粉丝

50

获赞

1

访问

11.7k

头像
2020年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年12月8日 15:47
阅读数 14


评分及理由

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

学生给出的基本设计思想是“依次遍历三元组,采用穷举法,列出所有可能的三元组情况,再遍历比较所有可能的三元组的最小值”。这属于暴力枚举法,思路正确,但并非题目要求的“尽可能高效的算法”。由于题目要求“尽可能高效”,而暴力法效率较低,因此不能给满分。但设计思想本身是清晰的,且符合暴力法的逻辑。扣1分,得2分。

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

学生根据设计思想给出了C语言代码,实现了三重循环遍历所有三元组并计算距离,符合暴力法的实现。但代码存在以下问题:
1. 函数参数中int n3误写为n3(缺少类型声明),属于语法错误,但根据上下文可判断为识别误写,不扣分。
2. 变量min初始化为0,而实际最小距离可能大于0(例如题目示例中最小距离为2),这会导致结果错误(如果所有距离都大于0,则返回0)。这是一个逻辑错误,应初始化为一个足够大的值(如INT_MAX)。扣2分。
3. 条件判断if(sum <= min)应为if(sum < min),但若min初始化为0且所有距离均大于0,则此条件不会执行,导致错误;若min初始化正确,使用<=虽不影响结果,但不够精确,不额外扣分。
4. 代码整体结构正确,实现了暴力法的核心逻辑。
综合以上,扣2分,得6分。

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

学生正确给出了时间复杂度O(n³)和空间复杂度O(1),与暴力法分析一致。得2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发