文章
286
粉丝
0
获赞
0
访问
51.8k

评分及理由
(1)得分及理由(满分3分)
得分:3分。学生给出了基于先序遍历的基本设计思想,正确描述了通过递归遍历,判断叶子结点并累加权值与深度的乘积,思路与标准答案一致,表述清晰。
(2)得分及理由(满分4分)
得分:4分。学生正确给出了二叉树结点的数据类型定义,包含weight、left和right指针,与标准答案一致(仅结构体名称不同,不影响正确性)。
(3)得分及理由(满分6分)
得分:5分。学生用C语言描述了先序遍历算法,整体逻辑正确,但存在以下问题:
1. 使用了全局变量sum,虽然能实现功能,但不符合题目要求的“设计求T的WPL的算法”应封装为独立函数的常规做法,且全局变量在多线程或多次调用时可能出错,扣1分。
2. 代码中null应写为NULL(C语言中为NULL),但根据“误写不扣分”原则,不扣分。
3. 缺少函数返回值,题目要求返回WPL值,但学生的order函数为void类型,依赖全局变量,未直接返回结果,扣1分。
4. main函数不应出现在算法描述中,属于多余代码,但根据“多余信息不扣分”原则,不扣分。
综上,扣2分,得4分。但考虑到算法核心逻辑正确,且误写和多余信息不扣分,实际扣分点为全局变量使用不当和未返回结果,共扣1分,得5分。
题目总分:3+4+5=12分
登录后发布评论
暂无评论,来抢沙发