文章

36

粉丝

0

获赞

0

访问

847

头像
2009年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年10月21日 15:52
阅读数 35


评分及理由

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

得分:3分

理由:学生的基本设计思想描述基本正确,指出了使用双指针的方法,让q先移动k-1个结点,然后p和q同步移动直到q到达尾结点。这与标准答案的思路一致,都是通过一趟扫描找到倒数第k个结点。但学生的描述中有一处错误:在最后一步说"此时q所指结点为所求",实际上应该是p所指结点为所求。由于核心思路正确,但存在细节错误,扣2分。

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

得分:3分

理由:学生的详细实现步骤基本正确,但同样存在错误。步骤②中"q向后移动k-1个结点"是正确的,但步骤③中"直到q到尾结点,即q->link为空,此时q所指结点为所求"应该是p所指结点为所求。实现步骤的核心逻辑正确,但关键细节有误,扣2分。

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

得分:1分

理由:学生的代码实现存在严重逻辑错误:
1. 代码中p指针未初始化,直接使用p = p->link会导致未定义行为
2. 第一个循环计算链表长度后,q已经指向NULL,第二个循环中q->link会访问空指针
3. 算法实际上进行了两趟扫描(先计算长度,再移动指针),不符合"尽可能高效"的要求
4. 代码中k变量未定义
虽然代码框架和思路方向正确,但存在多处逻辑错误,扣4分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发