文章
26
粉丝
93
获赞
1
访问
1.4k
评分及理由
(1)得分及理由(满分3分)
学生答案的基本设计思想正确,提出了使用深度优先搜索(DFS)遍历二叉树,并在叶结点处计算带权路径长度。思路与标准答案中的先序遍历方法一致,因此得3分。
(2)得分及理由(满分4分)
学生给出了二叉树结点的数据类型定义,包括weight、left和right指针,但第一次识别中结构体名称为"BTree",第二次为"Node",但别名均为"BTree"。定义基本正确,但标准答案中使用了"BiTNode"和"BiTree"作为类型名,这里不要求完全一致,只要结构正确即可。因此得4分。
(3)得分及理由(满分6分)
学生代码存在逻辑错误:
1. 在DeepSearch函数中,参数sum(或Sum)是值传递,递归调用不会修改外部变量,导致计算结果无法正确累积。标准答案使用static变量或通过返回值累加,但这里递归调用未处理返回值。
2. 递归调用时使用len++(后自增),会导致深度传递错误,应为len+1。
3. 函数返回类型不匹配:WPL函数声明为void但尝试返回Sum,且DeepSearch函数在叶结点分支没有返回值(第一次识别)或返回Sum(第二次识别),但递归调用未使用返回值。
扣分理由:核心逻辑错误(参数传递和递归处理方式)导致算法无法正确计算WPL,因此扣3分。得3分。
题目总分:3+4+3=10分
登录后发布评论
暂无评论,来抢沙发