文章

27

粉丝

0

获赞

0

访问

1.5k

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


评分及理由

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

得分:0分

理由:学生的算法设计思想是使用两层循环暴力匹配,这种方法虽然能找到公共结点,但不符合题目要求的"时间上尽可能高效"的标准。标准答案采用的是先计算链表长度差然后同步遍历的方法,时间复杂度为O(m+n),而学生的算法时间复杂度为O(m×n),效率较低。此外,学生的算法只能找到第一个数据值相同的结点,而题目要求的是找到共同后缀的起始位置(即第一个地址相同的结点),这是概念性错误。

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

得分:2分

理由:代码存在多处问题:
1. 函数返回类型声明为int,但实际返回的是LNode*类型,类型不匹配
2. 内层循环中q指针在第一次内循环后就会指向链表末尾,后续外层循环中q不会重置,逻辑错误
3. 算法比较的是结点数据值而非结点地址,无法正确找到共同后缀起始位置
4. 缺少链表长度计算和指针同步移动的关键逻辑
给予2分是因为代码框架基本正确,能够遍历两个链表,但核心逻辑存在严重缺陷。

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

得分:1分

理由:学生正确分析了自己算法的时间复杂度为O(n²),与实现的算法一致,符合评分标准。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发