文章
157
粉丝
0
获赞
0
访问
7.2k
评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生答案基本正确描述了递归遍历的思想,提到了初始高度h和叶子节点的处理方式。但表述不够精确,没有明确说明WPL是累加所有叶子节点的权值与深度乘积之和,而是说"返回WPL",这可能造成理解上的歧义。此外,没有提到static变量或全局变量来累加WPL,这是标准答案中的一个重要设计点。
(2)得分及理由(满分4分)
得分:3分
理由:数据类型定义基本正确,包含了weight、left和right三个域。但结构体名称使用了"Link"而不是更规范的二叉树节点名称(如BiTNode),且指针类型命名为LinkList不太合适,应该是指向二叉树节点的指针类型。不过这些不影响核心功能,只是命名不够规范。
(3)得分及理由(满分6分)
得分:4分
理由:算法实现基本正确,采用了递归遍历的方式,能够正确识别叶子节点并计算权值与深度的乘积。主要问题有:
1. 没有处理空树的情况,如果root为NULL会导致程序崩溃
2. 递归返回的是当前子树的WPL,但没有累加所有叶子节点的WPL,而是直接返回,这与WPL的定义不完全一致
3. 缺少对初始调用的说明,没有给出调用时h的初始值应该是0
4. 使用了null而不是NULL(可能是识别错误)
题目总分:2+3+4=9分
登录后发布评论
暂无评论,来抢沙发