文章
118
粉丝
0
获赞
0
访问
2.6k

评分及理由
(1)得分及理由(满分3分)
得分:3分
理由:学生的设计思想与标准答案一致,都是使用辅助数组记录已出现的绝对值,通过遍历链表进行删除操作。思路正确且完整。
(2)得分及理由(满分2分)
得分:2分
理由:单链表结点的数据类型定义完全正确,与标准答案一致。
(3)得分及理由(满分8分)
得分:6分
理由:算法整体思路正确,但存在以下逻辑错误:
1. 数组B的大小应为n+1(因为绝对值范围是0到n),学生代码中使用了B[n],缺少一个元素,这会导致当|data|=n时数组越界。
2. 在删除节点后,执行了"p = q"语句,但循环的步进部分"p = p->link"会使得p跳过下一个节点,导致链表遍历不完整。
3. 代码中使用了未定义的abs函数,应包含stdlib.h头文件或自行实现绝对值计算。
这些逻辑错误影响了算法的正确性,因此扣2分。
(4)得分及理由(满分2分)
得分:2分
理由:时间复杂度和空间复杂度的分析正确,与标准答案一致。
题目总分:3+2+6+2=13分
登录后发布评论
暂无评论,来抢沙发