文章

85

粉丝

0

获赞

2

访问

3.9k

头像
2014年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年9月5日 16:00
阅读数 22


评分及理由

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

学生答案的基本设计思想正确:使用先序遍历递归计算WPL,通过深度参数传递当前深度,遇到叶子节点时累加权值与深度的乘积。思路与标准答案一致,得3分。

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

学生给出的二叉树结点数据类型定义正确:包含weight、left和right指针,与标准答案一致。但注意学生使用了"left"和"right"而非标准答案的"lchild"和"rchild",这是允许的变量命名差异,不扣分。得4分。

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

学生代码整体正确,但存在两个小问题:
1. 函数func中声明了局部变量left和right(BiTNode *left, *right;),但未使用,这是冗余代码,但不影响逻辑,不扣分。
2. 使用了全局变量ans,而标准答案使用static变量(先序遍历版本)或局部变量(层次遍历版本)。虽然全局变量能实现功能,但破坏了封装性,且多次调用WPL函数时会导致ans累积错误(因为全局变量未重置)。但题目未要求多次调用的情况,且算法逻辑正确,因此扣1分。
其他部分正确:递归终止条件、深度传递、叶子节点判断都正确。得5分。

题目总分:3+4+5=12分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发