文章
317
粉丝
1
获赞
710
访问
146.6k

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生提出使用中序遍历二叉树,通过递归传入上层树高,在叶子结点处计算带权路径长度并累加。基本思路正确,能够实现WPL的计算。但题目要求的是先序遍历或层次遍历,中序遍历虽然也能计算WPL,但不符合题目要求的遍历方式,因此扣1分。
(2)得分及理由(满分4分)
得分:4分
理由:二叉树结点的数据类型定义完整正确,包含了weight、left和right三个域,与标准答案一致。使用typedef定义了Node和Tree类型,符合C语言规范。
(3)得分及理由(满分6分)
得分:4分
理由:算法实现存在以下问题:
1. 使用了全局变量wpl,不符合题目要求的函数封装性,应该通过参数传递或返回值来获取结果
2. 在递归函数中直接打印结果,而不是返回计算结果
3. 使用了中序遍历而非题目要求的先序遍历或层次遍历
4. 代码逻辑基本正确,能够正确识别叶子结点并计算WPL
考虑到核心逻辑正确,但实现方式存在缺陷,扣2分。
题目总分:2+4+4=10分
登录后发布评论
暂无评论,来抢沙发