文章
77
粉丝
0
获赞
0
访问
36.0k

评分及理由
(1)得分及理由(满分3分)
学生答案的基本设计思想正确,描述了通过递归遍历二叉树,记录深度,并在叶子结点计算权值与深度的乘积,最后累加得到WPL。这与标准答案中的先序遍历思想一致。因此得3分。
(2)得分及理由(满分4分)
学生第一次识别结果中给出了两个结构体定义,其中第一个`struct BTree`的定义有误(缺少右指针),但第二次识别结果中正确定义了二叉树结点结构体,包含`weight`、`left`和`right`域,符合题目要求。根据禁止扣分原则,第一次识别中的错误可能是识别问题,以第二次识别为准。因此得4分。
(3)得分及理由(满分6分)
学生提供的递归函数`fun`基本正确:
- 函数参数包括结点指针和深度,符合设计思想。
- 对空结点返回0,正确处理了边界条件。
- 检查叶子结点的条件正确(左右子树均为空),并返回深度与权值的乘积。
- 对非叶子结点递归计算左右子树的WPL并求和,逻辑正确。
但函数中有一个无效条件判断(`if (T->left != NULL && T->right != NULL)`),在第一次识别中出现,但第二次识别中已去除,根据禁止扣分原则,视为识别错误不扣分。因此得6分。
题目总分:3+4+6=13分
登录后发布评论
暂无评论,来抢沙发