文章

117

粉丝

160

获赞

0

访问

3.8k

头像
2012年(408)计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年11月26日 18:27
阅读数 55


评分及理由

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

得分:1分

理由:学生的算法思想描述不清晰且存在逻辑问题。基本思路是使用双层循环遍历两个链表,通过比较每个结点的后继指针是否相同来寻找共同后缀起始位置。这种方法虽然能解决问题,但效率较低(O(n²)),且描述中"str1的后一位置"等表述不够准确。与标准答案中先计算长度差再同步遍历的高效方法(O(m+n))相比,设计思想不够优化,因此扣3分。

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

得分:3分

理由:代码实现存在多处逻辑错误:
1. 函数返回类型应为LinkNode*而非LinkList*
2. 内层循环中q指针没有重置,当p移动后,q仍然指向链表末尾
3. 缺少对空链表的处理
4. 当没有共同后缀时,函数没有返回NULL
5. 比较的是p->next和q->next,而非p和q本身
代码虽然体现了寻找共同后缀的基本思路,但由于上述逻辑错误,只能实现部分功能,因此扣5分。

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

得分:1分

理由:学生正确分析了自己算法的时间复杂度为O(n²),与实现的算法一致,因此得1分。

题目总分:1+3+1=5分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发