文章

210

粉丝

21

获赞

1

访问

7.6k

头像
2014年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月2日 21:23
阅读数 11


评分及理由

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

得分:0分

理由:学生的基本设计思想存在逻辑错误。题目要求计算的是"带权路径长度",即每个叶子结点的权值乘以该叶子结点的深度(从根结点到该叶子结点的路径长度)。学生的思路中,sum是累加路径上所有结点的权值,而不是记录深度,这会导致计算结果错误。例如,对于深度为d的叶子结点,正确的WPL贡献应该是weight×d,但按照学生的思路,贡献的是路径上所有结点权值之和,这与题目要求不符。

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

得分:2分

理由:学生的数据类型定义基本正确,使用了结构体并包含了left、right指针和weight域。但存在以下问题:
1. 结构体名称使用了"List",这不符合二叉树结点的命名惯例,应该使用更具描述性的名称如"BiTNode"
2. 指针类型使用了"LNode"而不是结构体自身类型,这是语法错误
3. 缺少typedef定义别名
由于核心结构正确但存在明显的语法和命名问题,给予部分分数。

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

得分:0分

理由:学生的算法实现基于错误的设计思想。在递归函数中:
- 参数sum传递的是路径上权值的累加和,而不是深度
- 在叶子结点处,将sum累加到wpl中,这计算的是根到叶子路径上所有结点权值之和,而不是权值乘以深度
- 递归调用时,传递的是sum + T->weight,这继续累积权值而不是增加深度
这些逻辑错误导致算法完全不能正确计算WPL,因此不得分。

题目总分:0+2+0=2分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发