文章

261

粉丝

19

获赞

402

访问

85.8k

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

(1)设置辅助数组,将A中元素作为数组B下标,每遍历一次就进行计数,直至遍历结束,输出最大的B[j]与n/2进行比较,如果大于则输出主元素j,如果小于等于,则输出-1

(3) 时间复杂度为O(n) 空间复杂度为O(n)


评分及理由

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

得分:2分

理由:学生的基本设计思想是使用一个辅助数组B进行计数统计。这个思路是可行的,并且能够正确找出主元素(如果存在)。但是,题目要求“尽可能高效的算法”,而标准答案给出了时间复杂度O(n)、空间复杂度O(1)的“摩尔投票法”,这是一种更优的解法。学生的思路虽然正确,但空间复杂度为O(n),不如标准答案高效。因此,在“基本设计思想”这一项上,不能给满分,扣2分。

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

得分:0分

理由:题目要求“根据设计思想,采用 C 或 C++或 Java 语言描述算法”,但学生完全没有提供任何代码实现。这是一个严重的缺失,因此本部分得0分。

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

得分:2分

理由:学生正确分析了自己所描述算法(即使用辅助数组计数)的时间复杂度为O(n)和空间复杂度为O(n)。这与他的设计思想是一致的,因此给满分2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发