2019年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年10月22日 19:38
阅读数 41

评分及理由
(1)得分及理由(满分3分)
学生答案的基本设计思想正确:将链表分为前后两半,后半部分逆置,然后交替合并。但存在以下问题:
- 寻找中间结点的方法描述不准确,标准答案使用快慢指针法,而学生答案使用计算n/2步的方法,虽然思路可行但不够高效(需要已知链表长度n)。
- 逆置方法描述中的头插法实现细节有误(在代码中体现)。
扣1分,得2分。
(2)得分及理由(满分8分)
学生代码存在以下逻辑错误:
- reverse函数逻辑错误:L参数被修改且返回,但函数内对L的修改方式会导致链表断裂和循环引用。
- answer函数中寻找中间结点的方法依赖参数n,不符合题目要求(题目未提供n)。
- 合并逻辑有误:p1->next = p2 和 p2->next = p1 的交替操作会导致链表连接错误。
- 未处理带头结点的特殊情况。
根据错误严重程度,扣5分,得3分。
(3)得分及理由(满分2分)
学生正确指出时间复杂度为O(n),得2分。
题目总分:2+3+2=7分
登录后发布评论
暂无评论,来抢沙发