文章

148

粉丝

0

获赞

0

访问

14.2k

头像
2013年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月5日 18:29
阅读数 97


评分及理由

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

得分:2分

理由:学生的思路是使用计数数组统计每个元素的出现次数,然后找出出现次数最多的元素判断是否超过n/2。这个思路是正确的,能够解决问题,但不是题目要求的"尽可能高效的算法"(标准答案使用摩尔投票法,空间复杂度为O(1))。学生的方法空间复杂度为O(n),不如标准答案优化,但基本思路正确,因此给2分。

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

得分:4分

理由:代码实现了计数统计的基本思路,但有逻辑错误:
1. 在寻找最大值时逻辑混乱,第二个if条件"if (temp >= B[j])"会导致错误结果,应该直接比较B[j]与temp的大小
2. 最后返回的是b(索引),但应该是出现次数最多的元素值
3. 代码中free(B)在return语句之后,永远不会执行,存在内存泄漏
代码整体框架正确,但关键逻辑有错误,扣3分。

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

得分:2分

理由:学生正确分析了时间复杂度O(n)和空间复杂度O(n),与实现的算法一致,给满分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发