文章
80
粉丝
93
获赞
1
访问
7.5k

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生的基本设计思想正确,提到了使用辅助数组记录已出现的绝对值,并通过双指针遍历链表进行删除操作。但与标准答案相比,缺少了对辅助数组初始化的说明,也没有明确说明数组大小应为n+1(因为绝对值范围是0到n)。扣1分。
(2)得分及理由(满分2分)
得分:1分
理由:学生给出了单链表结点的基本结构定义,但存在两个问题:一是结构体定义末尾多写了"LinkList",这可能是误写;二是没有使用typedef定义类型别名。扣1分。
(3)得分及理由(满分8分)
得分:5分
理由:算法实现基本正确,但存在以下逻辑错误:
1. 辅助数组a[n]没有初始化,这是严重逻辑错误,扣1分
2. 数组大小应为n+1而不是n,因为绝对值范围是0到n,扣1分
3. 函数参数缺少n,无法确定数组大小,扣1分
4. 代码中使用了"next"而不是"link",与定义不符,但可能是误写,不扣分
5. 缺少释放辅助空间的代码,扣1分
(4)得分及理由(满分2分)
得分:1分
理由:学生正确分析了时间复杂度O(n)和空间复杂度O(n),但时间复杂度应该是O(m)(m为链表长度),扣1分。
题目总分:2+1+5+1=9分
登录后发布评论
暂无评论,来抢沙发