文章

148

粉丝

0

获赞

0

访问

13.9k

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


评分及理由

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

得分:2分

理由:学生的基本思路有正确部分(先求长度差,然后对齐后同步遍历),但存在明显逻辑错误。学生提到"用一个变量记录连续相同的个数,若等于剩余链表结点的个数,则为所求的共同后缀",这个思路是错误的,因为共同后缀是连续的相同结点序列,但记录连续相同个数的方法无法准确找到起始位置。不过对齐遍历的核心思想是正确的,所以给予部分分数。

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

得分:3分

理由:代码实现存在多处逻辑错误:
1. 函数参数设计不合理,多了一个不必要的参数p
2. 在计算链表长度后,str1和str2已经指向尾结点,但后续又直接使用str1->link移动指针,这是错误的
3. 对齐操作时应该从头结点开始移动,而不是从尾结点开始
4. 比较逻辑错误:使用sum记录连续相同个数的方法无法正确找到共同后缀起始位置
5. 返回值设计错误,应该返回结点指针而不是整数值
但代码体现了求长度差、对齐遍历的基本思路,所以给予部分分数。

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

得分:0分

理由:学生回答时间复杂度为O(n),但未明确说明n的含义。实际上算法的时间复杂度应该是O(len1+len2),其中len1、len2分别为两个链表的长度。学生的回答不够准确。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发