文章
238
粉丝
0
获赞
3
访问
32.7k
评分及理由
(1)得分及理由(满分3分)
学生答案中描述的设计思想是“找到链表的中间结点,再将后半部分链表进行翻转,最后根据要求将两个子链表拼接起来”,这与标准答案的思路完全一致。虽然第一次识别结果中出现了“[?]千结点”这样的识别错误,但根据上下文可以判断应为“中间结点”,属于识别误写,不扣分。思路正确且完整,得3分。
(2)得分及理由(满分8分)
学生提供的代码整体结构与标准答案高度一致,主要步骤(找中间结点、反转后半部分、合并)都正确实现。但存在以下问题:
Node* r, s;
,其中s
应为指针类型但未加*
,应改为NODE *r, *s;
。这是一个逻辑错误,扣1分。Fun
,而题目要求重新排列链表,函数名应更具描述性,但题目未明确要求函数名,不扣分。因此,本部分得7分(8-1=7)。
(3)得分及理由(满分2分)
学生正确分析了各步骤的时间复杂度(找中间结点O(n)、反转O(n)、合并O(n)),并得出总时间复杂度为O(n),与标准答案一致。得2分。
题目总分:3+7+2=12分
登录后发布评论
暂无评论,来抢沙发