文章
54
粉丝
0
获赞
0
访问
3.7k


评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生答案中提到了使用辅助数组记录绝对值出现次数的基本思路,这与标准答案"空间换时间"的思想一致。但存在以下问题:
1. 没有明确说明辅助数组初始化为0的关键步骤
2. 描述中"若出现次数大于1,则删除该结点"的表述不够准确,应该是第一次出现时保留,后续出现时删除
3. 缺少对n值范围的利用说明
(2)得分及理由(满分2分)
得分:2分
理由:数据类型定义正确,包含了data和link两个字段,结构体定义完整,符合题目要求。
(3)得分及理由(满分8分)
得分:4分
理由:代码实现存在多处逻辑错误:
1. 辅助数组分配错误:`sizeof(int *n)`应该是`sizeof(int)*(n+1)`
2. 辅助数组未初始化:缺少对数组元素初始化为0的步骤
3. 指针操作错误:`linklist q; q->link = p;`中q未分配内存就使用
4. 链表遍历逻辑不完整:缺少对前驱指针的正确维护
5. 删除操作中q指针未正确更新
但代码整体框架正确,体现了使用辅助数组的基本思路。
(4)得分及理由(满分2分)
得分:2分
理由:时间复杂度和空间复杂度分析正确,O(m)和O(n)的结论与标准答案一致。
题目总分:2+2+4+2=10分
登录后发布评论
暂无评论,来抢沙发