文章

78

粉丝

0

获赞

0

访问

7.2k

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


评分及理由

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

得分:4分

理由:学生的基本设计思想与标准答案一致,都是先计算两个链表的长度,然后让较长的链表先移动长度差步,最后同步移动直到找到共同结点。思路正确且表述清晰。

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

得分:6分

理由:算法实现基本正确,但有以下几个逻辑错误:

  • 代码中p和q在计算长度后已经指向链表尾部,后续移动前没有重新指向头结点,这会导致空指针访问。应扣1分。
  • 在移动k步时,条件"k >= 0"会导致多移动一步(移动k+1次),应改为"k-- > 0"。这是一个逻辑错误,扣1分。
  • 循环条件"while (q != NULL && p != NULL)"和后续的判空检查是合理的,但break条件正确。
  • 返回前判断p或q为NULL的情况处理正确。

总体实现思路正确,但存在两个明显的逻辑错误,因此扣2分。

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

得分:0分

理由:学生回答时间复杂度为O(n),但实际应该是O(m+n)或O(max(m,n)),其中m和n分别是两个链表的长度。这个回答不够准确,因此不得分。

题目总分:4+6+0=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发