文章

196

粉丝

0

获赞

1

访问

26.2k

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


评分及理由

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

得分:3分

理由:学生的设计思想是"统计链表长度,得到长度n,再遍历找到第n-k+1个结点"。这种思路是正确的,能够解决问题,但需要遍历链表两次(一次统计长度,一次定位结点),而题目要求"尽可能高效的算法"并明确说明"若采用两遍或多遍扫描才能得到正确结果的,最高分10分"。与标准答案的一遍扫描相比,效率较低,因此扣2分。

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

得分:4分

理由:学生的实现步骤描述清晰,包括统计链表长度、检查k的合法性、定位倒数第k个结点三个主要步骤,逻辑完整正确。但由于采用的是两遍扫描的方法,效率不如标准答案的一遍扫描,因此扣1分。

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

得分:3分

理由:代码实现基本正确,能够完成功能,但有以下几个问题:
1. 代码开头有"int solvef"这样的冗余代码,可能是识别错误
2. 在统计长度时,使用"list = list->link"移动了原始头指针,虽然后面有"list = p"恢复,但这种方法不够优雅
3. 在定位结点时,使用"n--"的方式递减计数,逻辑正确但可读性稍差
4. 主要问题是采用了两遍扫描的方法,效率较低
由于代码功能正确但效率不高,扣2分。

题目总分:3+4+3=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发