文章
302
粉丝
0
获赞
15
访问
52.2k

评分及理由
(1)得分及理由(满分5分)
得分:3分
理由:学生的基本设计思想描述中,提到了递归遍历表达式树,对叶结点直接输出,对非叶结点添加括号。这与标准答案的中序遍历思路基本一致。但是,学生的描述中"对于整根结点,不输出'('和')'"这一表述不够准确,实际上根结点是否需要括号取决于其深度,而学生没有明确提到深度控制的概念。此外,学生的描述中"按照'( + 左结点 + 本递结点值 + 右结点 + )'"这一顺序存在逻辑混乱,没有清晰说明中序遍历的顺序(左子树、操作符、右子树)。因此扣2分。
(2)得分及理由(满分10分)
得分:4分
理由:学生的代码实现存在较多逻辑错误:
1. 函数FindNode的逻辑混乱,在左子树非空时重复输出左括号,且对叶结点的处理分支与其他分支重叠。
2. 主函数InverseTree没有处理根结点的括号问题,直接对左右子树调用FindNode会导致根结点操作符的左右子树被额外添加括号。
3. 代码没有考虑深度参数,无法正确控制括号的添加层次。
4. 函数命名InverseTree与功能不符,且缺少对根结点的完整处理。
基于这些逻辑错误,扣6分。
题目总分:3+4=7分
登录后发布评论
暂无评论,来抢沙发