文章

118

粉丝

0

获赞

0

访问

48.2k

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


评分及理由

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

得分:0分

理由:学生的设计思想存在严重逻辑错误。题目要求删除绝对值相等的结点,但学生描述的是通过两个指针比较相邻结点的值是否相等,这与题目要求的"绝对值相等"不符。而且学生的算法只能检测相邻结点的重复,无法检测非相邻结点的重复(如链表1->2->1,第二个1不会被删除)。基本设计思想完全偏离题目要求。

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

得分:1分

理由:学生给出了基本正确的单链表结点定义,使用了typedef和struct,但存在语法错误:在C/C++中应该是"struct Link *link"而不是"Link *link"。考虑到可能是识别错误,给予1分。

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

得分:0分

理由:算法实现存在多处严重错误:
1. 算法逻辑错误:只能检测相邻结点的重复,无法处理非相邻结点的重复
2. 未处理绝对值:题目要求比较绝对值,但代码直接比较data值
3. 指针使用错误:q指针始终指向head,p指针移动但q指针也移动,逻辑混乱
4. 删除操作不完整:只修改了指针,没有释放被删除结点的内存
5. 边界条件处理不当:对空链表或单结点链表的处理可能存在问题

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

得分:0分

理由:学生分析的时间复杂度O(n)和空间复杂度O(1)是基于错误的算法得出的,与题目要求的正确算法不符。正确的算法应该是时间复杂度O(m),空间复杂度O(n)。

题目总分:0+1+0+0=1分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发