文章
117
粉丝
160
获赞
0
访问
3.9k

评分及理由
(1)得分及理由(满分5分)
得分:0分
理由:学生的基本设计思想存在根本性错误。标准答案的核心思想是基于中序遍历,但根据结点深度(是否为根结点或叶结点)以及操作符优先级(通过深度参数隐式体现)来决定是否添加括号,以确保运算次序正确。而学生的思路是“在无左子树的节点前加左括号,在无右子树的节点后加右括号”,这完全不符合表达式树的括号添加规则。例如,对于题目中的例子,按照该思路将无法正确生成所需的中缀表达式,且会导致括号位置错误。因此,设计思想不正确,扣5分。
(2)得分及理由(满分10分)
得分:0分
理由:算法实现与设计思想一致,存在严重的逻辑错误。主要问题包括:
1. 括号添加逻辑错误:仅在左子树为空时输出左括号,右子树为空时输出右括号,这与表达式树中括号用于表示子表达式计算次序的目的完全不符。
2. 遍历顺序错误:代码先输出当前结点数据,再递归遍历左、右子树,这并非标准的中序遍历(左-根-右),而是近似先序遍历(根-左-右),导致输出序列顺序错误。
3. 未正确处理操作数和操作符:没有区分叶结点(操作数)和内部结点(操作符),对所有结点采用相同的输出和括号规则。
因此,算法无法正确转换表达式树,扣10分。
题目总分:0+0=0分
登录后发布评论
暂无评论,来抢沙发