文章

101

粉丝

38

获赞

0

访问

3.3k

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


评分及理由

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

学生答案的基本设计思想是:创建一个临时链表,对后n/2个元素采用头插法暂存,然后遍历原链表将临时链表元素插回。这个思路与标准答案的"找到中点、反转后半段、合并"思想在本质上是一致的,都是将后半段反转后与前半段交替合并。虽然表述方式不同,但核心逻辑正确,因此得3分。

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

学生的代码实现存在较多问题:

  • head指针未分配内存就直接使用head->next,这是严重错误
  • 代码逻辑混乱,条件判断count!= n/2和count % 20 == 0不合理
  • 链表操作逻辑错误,如p = p->next->next可能造成空指针访问
  • 变量q、r的使用混乱,作用域不清晰
  • 头插法实现错误,没有正确构建临时链表
  • 合并过程的逻辑完全错误

虽然学生尝试实现算法,但代码存在多处逻辑错误,无法正确实现功能。考虑到学生理解了基本思路,但实现存在严重缺陷,扣5分,得3分。

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

学生正确分析出时间复杂度为O(n),这是正确的。虽然空间复杂度部分信息不全,但题目要求空间复杂度为O(1),学生代码中确实只使用了固定数量的指针变量,符合要求。因此得2分。

题目总分:3+3+2=8分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发