文章

7

粉丝

0

获赞

0

访问

243

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


评分及理由

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

学生答案正确描述了使用辅助数组记录绝对值是否出现过的思想,与标准答案一致。得3分。

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

学生给出了正确的单链表结点定义,但存在两处小问题:1. "Typedef" 应为 "typedef"(首字母不应大写);2. 标准答案中使用了 "NODE" 和 "PNODE" 的别名定义,而学生使用了 "node" 和 "pnode",但这是等效的。考虑到识别可能产生的误写(如大小写问题),且核心定义正确,不扣分。得2分。

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

学生代码整体思路正确,但存在一个逻辑错误:在判断 `*(q+m)==1` 的分支中,没有使用 `else`,而是使用了两个独立的 `if` 语句。这会导致当第一个 `if` 条件满足(即 `*(q+m)==0`)并执行 `p = p->link` 后,第二个 `if` 条件(`*(q+m)==1`)也会被检查(因为此时 `*(q+m)` 已被设为1),从而错误地删除刚保留的结点。这是一个严重的逻辑错误,扣3分。其他部分(如辅助数组申请、初始化、绝对值计算、删除操作等)正确。得5分(8-3=5)。

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

学生第一次识别结果中写的时间复杂度为O(n),但第二次识别结果修正为O(m),空间复杂度O(n)正确。标准答案为O(m)和O(n)。考虑到识别可能产生的误写(第一次将m误写为n),且第二次正确,不扣分。得2分。

题目总分:3+2+5+2=12分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发