文章

297

粉丝

0

获赞

1

访问

178.6k

头像
2012年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年9月21日 21:15
阅读数 531


评分及理由

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

学生给出了算法的基本设计思想:先计算两个链表的长度,然后让较长的链表指针先移动,使两个链表剩余长度相等,最后同步遍历直到找到相同结点。这与标准答案的思路一致,因此得4分。

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

学生代码存在以下问题:

  • 函数定义中使用了未声明的类型(如Node应为结构体类型,但未定义),但根据上下文可推断是链表结点,不扣分。
  • Len函数中使用了p->Link和p->next混合(识别问题,可能为误写),但逻辑正确,不扣分。
  • Find函数中,m和n未声明类型(应为int),但根据上下文可推断,不扣分。
  • Find函数中,条件判断str1->data != str2->data错误:因为共同后缀的起始位置是结点地址相同(即指针相同),而不是数据相同。这是一个逻辑错误,扣2分。
  • 返回h(str1->data)错误:应该返回结点指针(即共同后缀起始位置),而不是数据。这是一个逻辑错误,扣2分。
  • 其他小问题(如Void应为void,但可能是识别错误)不扣分。

因此,本部分得分为8 - 2 - 2 = 4分。

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

学生正确给出了时间复杂度为O(m + n),与标准答案一致,得1分。

题目总分:4+4+1=9分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发