文章
310
粉丝
6
获赞
5
访问
85.6k

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生基本理解了使用辅助数组记录已出现绝对值的思想,与标准答案一致。但描述不够完整,没有明确说明数组大小应为n+1,也没有提到数组初始化为0的步骤。
(2)得分及理由(满分2分)
得分:2分
理由:单链表结点的数据类型定义正确,与标准答案一致,使用了struct LNode和LinkList的定义方式。
(3)得分及理由(满分8分)
得分:4分
理由:算法实现存在多处逻辑错误:
1. 函数参数应为头指针,但代码中使用了head.next,应该直接使用头结点
2. 初始标记逻辑错误,应该从头结点开始遍历
3. 条件判断逻辑错误,应该是如果已存在则删除,但代码中条件写反了
4. 标记更新的位置和逻辑错误,应该在保留结点时才标记
5. 缺少辅助数组的初始化和释放
6. 循环条件设计不当,可能导致漏处理最后一个结点
(4)得分及理由(满分2分)
得分:1分
理由:时间复杂度分析正确为O(n),但空间复杂度分析错误,应该是O(n)而不是O(abs(max(nodes_data))),没有理解辅助数组大小应为n+1。
题目总分:2+2+4+1=9分
登录后发布评论
暂无评论,来抢沙发