文章

161

粉丝

0

获赞

1

访问

49.9k

头像
2019年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年12月12日 17:25
阅读数 192


评分及理由

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

学生给出了基本思路:找到中间结点、逆置后半段、合并两个链表。思路与标准答案一致,但描述较为简略,且部分细节不清晰(例如“头插到P的后面”表述不够准确,实际应为反转操作)。整体思路正确,可得满分3分。

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

学生尝试用C语言描述算法,但代码存在多处逻辑错误和语法问题:
1. 函数声明不完整,参数类型不明确(L*NODE 或 L *NODE 未定义)。
2. 变量 n 未定义,链表长度未知。
3. 第一个 for 循环仅执行最后一次赋值,无法正确找到中间结点。
4. 逆置部分的逻辑错误:仅将 p->next 指向 q,未实现头插逆置,且会破坏链表结构。
5. 合并部分的循环条件 i < n 错误(n 应为链表长度),且未处理链表结束条件,可能导致空指针访问。
6. 指针 k 未初始化,可能导致运行时错误。
由于代码核心逻辑错误较多,无法正确实现功能,但考虑到学生可能因识别或表达问题导致代码不完整,根据“思路正确不扣分”原则,此处不因思路错误扣分,但代码实现部分存在严重逻辑错误,应扣除相应分数。综合给予 2 分(思路分)。

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

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

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发