文章
85
粉丝
0
获赞
2
访问
3.9k
评分及理由
(1)得分及理由(满分5分)
得分:5分
理由:学生的基本设计思想与标准答案一致,都是基于二叉树的中序遍历,并在遍历过程中根据深度(或高度)添加括号,以反映操作符的计算次序。学生明确指出根节点(深度为1)不加括号,叶节点(左右子树为空)也不加括号,其他情况需要加括号,这符合表达式树转换为中缀表达式的逻辑。
(2)得分及理由(满分10分)
得分:8分
理由:学生的代码整体思路正确,实现了中序遍历递归,并根据深度添加括号,但存在以下逻辑错误:
1. 函数中声明了局部变量node *left, *right;
,但未使用,这是冗余代码,但不影响逻辑,不扣分。
2. 函数参数类型为BTree *root
,但内部使用了node
类型,这可能是识别错误(误写),实际应为BTree
类型。由于题目要求使用C/C++,且node
未定义,这会导致编译错误,属于逻辑错误,扣2分。
其他部分,包括递归终止条件、括号添加条件、递归调用等均正确。
题目总分:5+8=13分
登录后发布评论
暂无评论,来抢沙发