文章

88

粉丝

0

获赞

0

访问

3.7k

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


评分及理由

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

得分:0分

理由:学生的算法设计思想与标准答案完全不同。学生采用的方法是先对数组进行快速排序,然后创建一个计数数组统计每个元素出现的次数,最后遍历计数数组寻找出现次数超过n/2的元素。这种方法虽然能解决问题,但不符合题目要求的"尽可能高效的算法"(标准答案使用摩尔投票法,时间复杂度O(n),空间复杂度O(1))。学生的算法时间复杂度为O(nlogn),空间复杂度为O(n),效率较低。

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

得分:2分

理由:学生的代码实现存在多处严重逻辑错误:

  • 快速排序实现错误:Partition函数中内层循环条件错误,应该用A[high]与pivot比较,而不是A[low]
  • 快速排序递归调用错误:QuickSort(A, pivotpos, n)中的n未定义,且应该是pivotpos+1
  • 主元素判断逻辑错误:在for循环中过早返回,只检查了第一个元素就返回,应该遍历完整个计数数组
  • 变量count定义但未使用

虽然算法思路基本正确(排序+统计),但由于实现存在严重逻辑错误,只能给予少量分数。

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

得分:0分

理由:学生没有分析算法的时间复杂度和空间复杂度。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发