文章
117
粉丝
160
获赞
0
访问
3.9k

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生的基本设计思想正确,指出使用前序遍历,并正确识别叶结点的条件(无左孩子和右孩子),同时提到通过路径长度(深度)与权值相乘来计算WPL。但描述不够完整,没有明确说明递归过程中深度参数如何传递和更新,也没有提到对非叶结点的处理。扣1分。
(2)得分及理由(满分4分)
得分:3分
理由:学生的数据类型定义基本正确,使用了结构体,包含了weight、left和right成员。但left和right的指针类型声明有误,应为`struct Tree*`,学生写成了`struct Tree *left`和`struct Tree *right`,缺少星号(可能为识别错误)。此外,未定义结构体别名(如BiTNode),但这不是关键错误。扣1分。
(3)得分及理由(满分6分)
得分:4分
理由:算法整体思路正确,使用递归先序遍历,深度参数n正确递增,并检查叶结点条件。但存在以下逻辑错误:① 使用全局变量wpl和n,这会导致多次调用函数时结果错误,应使用局部变量或静态变量;② 函数没有返回值,且wpl是全局变量,不符合算法封装要求;③ 在叶结点条件中,使用了未定义的变量weight(应为T->weight,可能为识别错误)。这些错误影响算法的正确性和可重用性。扣2分。
题目总分:2+3+4=9分
登录后发布评论
暂无评论,来抢沙发