文章
180
粉丝
0
获赞
0
访问
12.7k

评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的基本设计思想与标准答案一致,都是使用辅助数组记录已出现的绝对值,通过空间换时间的方式实现高效删除。思路正确且完整。
(2)得分及理由(满分2分)
得分:2分
理由:单链表结点的数据类型定义正确,使用了typedef定义结构体和指针类型,与标准答案基本一致。
(3)得分及理由(满分8分)
得分:6分
理由:算法实现基本正确,但存在以下逻辑错误:
1. 辅助数组大小应为n+1,学生使用了n,这会导致数组越界(当绝对值等于n时无法处理)
2. 在第一次识别的代码中,if(A[i]==0)分支中缺少A[i]++的标记操作
3. 在第二次识别的代码中,if(A[i]==0)分支中执行了A[i]++后,又执行了p=p->link,导致指针移动两次
4. 函数参数应为n而不是m,因为n是绝对值的上限
扣分情况:数组大小错误扣1分,标记逻辑错误扣0.5分,指针移动逻辑错误扣0.5分,参数命名不当但不影响逻辑不扣分。
(4)得分及理由(满分2分)
得分:2分
理由:时间复杂度和空间复杂度的分析正确,与标准答案一致。
题目总分:3+2+6+2=13分
登录后发布评论
暂无评论,来抢沙发