文章

29

粉丝

0

获赞

0

访问

2.0k

头像
2015年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月28日 17:33
阅读数 36


评分及理由

(1)得分及理由(满分3分)

得分:1分

理由:学生答案提到使用辅助数组记录已出现的绝对值,这与标准答案的核心思想一致(空间换时间)。但描述不够清晰,如"用前后两个指针遍历链表"和"重新定义一个新的指针从头开始向后寻找"等表述存在矛盾且未准确说明具体操作流程,基本设计思想描述不完整。

(2)得分及理由(满分2分)

得分:2分

理由:单链表结点的数据类型定义正确,与标准答案完全一致,使用struct Lnode并包含data和next成员。

(3)得分及理由(满分8分)

得分:2分

理由:
- 正确部分:使用了辅助数组记录绝对值出现情况,基本思路正确
- 主要错误:
1. 辅助数组大小应为n+1(因为|data|≤n),而学生使用n,这是严重的逻辑错误
2. 删除操作逻辑错误:当发现重复时,pre->next应该指向p->next,然后free(p),但代码中直接移动pre和p指针,没有正确修改链表连接
3. 指针移动逻辑混乱,在else分支中同时移动pre和p,不符合单链表遍历的基本逻辑
4. 缺少free操作释放被删除的结点
5. 函数参数缺少n,无法确定辅助数组大小

(4)得分及理由(满分2分)

得分:1分

理由:时间复杂度分析基本正确(O(n)),但空间复杂度分析忽略了n是数据绝对值的上限而非链表长度,实际空间复杂度应为O(n)(与标准答案一致),但学生分析过程不够准确。

题目总分:1+2+2+1=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发