文章

225

粉丝

0

获赞

1

访问

11.4k

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


评分及理由

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

得分:3分

理由:学生的基本设计思想采用了计数排序的思路,通过创建计数数组统计每个元素的出现次数,然后检查是否有元素的计数超过n/2。这种方法能够正确找出主元素,思路是正确的。但与标准答案相比,这种方法需要额外的O(n)空间,而标准答案的空间复杂度为O(1)。由于题目要求"尽可能高效的算法",虽然思路正确,但在空间效率上不如标准答案,因此扣1分。

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

得分:5分

理由:学生的代码实现基本正确,能够完成主元素的查找功能。但存在以下问题:

  1. 在遍历过程中就判断count[A[i]] > n/2并返回,这是不正确的逻辑错误。因为可能某个元素在遍历中途计数超过n/2,但后续遍历中其他元素可能使其不再满足条件。正确的做法应该是先完成所有计数,然后再检查是否有元素的计数超过n/2。这是一个重要的逻辑错误,扣2分。
  2. 代码没有释放动态分配的内存,存在内存泄漏问题,但考虑到这是算法题,主要考察算法逻辑,此项不扣分。
  3. 代码结构清晰,注释得当,其他部分实现正确。

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

得分:2分

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

题目总分:3+5+2=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发