文章

102

粉丝

0

获赞

3

访问

5.7k

头像
2016年(408)计算机学科专业基础综合试题 - 第43题回答
数据结构
发布于2025年11月24日 17:53
阅读数 46


评分及理由

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

得分:1分

理由:学生使用了计数排序的思路来寻找中位数,这与标准答案的快速选择思想不同。虽然思路可行,但存在以下问题:①计数排序要求元素范围已知且较小,题目未给出此条件;②算法描述中"count[n]"用法错误,应该是根据元素值范围分配数组;③对中位数的处理逻辑混乱,特别是对等于中位数的元素分配规则表述不清。由于基本思路与题目要求的划分算法有较大偏差,扣3分。

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

得分:2分

理由:代码实现存在多处严重错误:①"int count[n] = 0"语法错误,不能对整个数组初始化为0;②"int count - 1 = 0"变量名不合法;③"temp += temp + count[i]"逻辑错误,应该是"temp = temp + count[i]";④中位数mid应该赋值为i而不是temp;⑤最后返回a[0]没有意义,应该返回两个子集和的差值;⑥没有计算S1和S2。虽然代码框架体现了划分思想,但由于核心逻辑错误过多,扣7分。

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

得分:1分

理由:学生正确分析了时间复杂度O(n)和空间复杂度O(n),但未说明这是基于计数排序的复杂度分析。与标准答案的O(1)空间复杂度相比,学生的算法空间开销较大,扣1分。

题目总分:1+2+1=4分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发