文章
132
粉丝
0
获赞
0
访问
8.0k

评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的基本设计思想与标准答案一致,都是使用辅助数组记录已出现的绝对值,通过一趟扫描链表实现删除重复结点。思路正确完整,没有逻辑错误。
(2)得分及理由(满分2分)
得分:2分
理由:单链表结点的数据类型定义完全正确,与标准答案一致。
(3)得分及理由(满分8分)
得分:6分
理由:算法整体思路正确,但存在以下逻辑错误:
1. 辅助数组大小定义为固定值100,而不是根据参数n动态分配,这可能导致数组越界或空间浪费(扣1分)
2. 在第一次识别结果中,条件判断"if (A[i] >= 0)"逻辑错误,应该是判断是否为0(扣1分)
3. 在第一次识别结果中,使用了"p->next"而不是"p->link",与定义不符(扣1分)
4. 在第二次识别结果中,算法逻辑基本正确,但辅助数组大小问题仍然存在
总体算法框架正确,删除操作逻辑正确。
(4)得分及理由(满分2分)
得分:1分
理由:时间复杂度分析正确为O(m),但空间复杂度在第一次识别中正确为O(n),第二次识别中写成了"O(n) O(n)",表达不清晰且重复(扣1分)。
题目总分:3+2+6+1=12分
登录后发布评论
暂无评论,来抢沙发