文章
83
粉丝
0
获赞
0
访问
6.3k

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生的基本设计思想与标准答案相似,都使用了辅助数组来记录已出现的绝对值,并通过遍历链表进行删除操作。但学生的描述存在以下问题:①数组名写为"A res"不够规范;②步骤②中"将res[i]进行+1操作"表述不准确,应该是标记出现而非计数;③步骤③中"检查res[data]是否为0"逻辑有误,应该是检查是否为0来决定保留还是删除。由于核心思路正确但存在逻辑表述问题,扣1分。
(2)得分及理由(满分2分)
得分:2分
理由:学生的单链表结点数据类型定义完全正确,与标准答案一致,使用了typedef定义结构体类型,包含了data和link两个成员,语法正确。
(3)得分及理由(满分8分)
得分:4分
理由:学生的算法实现存在多处逻辑错误:①数组res未初始化,所有元素值不确定;②判断条件"res[abs(front->data)] != 0"逻辑反了,应该是等于0才保留;③删除操作中,当需要删除结点时,rear指针没有正确移动;④函数返回类型应为void,因为修改的是链表本身;⑤缺少free删除结点的操作;⑥数组大小应为n+1而非n。但算法框架基本正确,使用了辅助数组和双指针遍历,因此给予部分分数。
(4)得分及理由(满分2分)
得分:1分
理由:学生正确分析了时间复杂度O(m)和空间复杂度O(n),与标准答案一致。但第二次识别结果中缺少空间复杂度分析,因此扣1分。
题目总分:2+2+4+1=9分
登录后发布评论
暂无评论,来抢沙发