文章

202

粉丝

0

获赞

0

访问

49.0k

头像
2019年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月23日 16:54
阅读数 292


评分及理由

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

学生答案的基本设计思想正确,明确分为三个步骤:使用快慢指针找到中点、反转后半段链表、将后半段链表隔位插入前半段链表。这与标准答案的思路一致。因此得3分。

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

学生答案的代码描述存在以下问题:

  • 在mid函数中,快慢指针初始化为head->next,但标准答案中快指针从head开始,慢指针从head开始,这样能正确找到下中位数点。学生的初始化方式可能导致中点位置不准确,属于逻辑错误,扣2分。
  • 在reverse函数中,学生使用头插法反转链表,但函数参数为head,而实际操作是将head->next开始的链表反转,这可能导致链表连接错误。标准答案中反转的是后半段链表,而学生代码中反转的是以midpos为起点的链表,但通过newhead重新包装,逻辑上可行,但代码不完整,缺少后续合并步骤,扣3分。
  • func函数中,学生创建了newhead节点来处理后半段反转,但代码不完整,while循环为空,没有实现合并操作,扣2分。
  • 整体代码缺少完整的合并逻辑,无法实现最终要求,扣1分。

综上,代码部分得分为0分(8-2-3-2-1=0)。

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

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

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发