文章

27

粉丝

0

获赞

0

访问

1.3k

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


评分及理由

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

学生答案的基本设计思想是通过遍历链表获取总长度n,然后计算正数第n-k+1个结点。这种方法需要遍历链表两次(一次求长度,一次找结点),而标准答案要求尽可能高效(一趟扫描)。虽然思路正确,但效率较低,不符合题目“尽可能高效”的要求。因此扣2分,得3分。

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

详细实现步骤描述了先求链表长度n,再通过n-k+1定位结点。步骤正确但效率低,且未体现一趟扫描的优化。扣2分,得3分。

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

代码实现存在逻辑错误:
1. 初始化n=1错误(头结点不计入长度,应从0开始或从第一个数据结点开始计数)。
2. 指针p初始化错误(`LNode = *p, p = list;` 语法错误,应为 `LNode *p = list->link;`)。
3. 遍历时未跳过表头结点(直接使用list会包含头结点,导致计数和定位错误)。
扣3分(2分用于逻辑错误,1分用于效率问题),得2分。

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

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发