给出算法将二叉树表示的表达式二叉树按中缀表达式输出 并加上相应的括号。【北京邮电大学2001五 3(
表达式,中缀,括号
已帮助 人
-
正确答案:这是用二叉树表示符号算术表达式的逆问题即将二叉树表示的表达式还原成原表达式。二叉树的中序遍历序列与原算术表达式基本相同差别仅在于二叉树表示中消除了括号。将中序序列加上括号就恢复原貌。当根结点运算符优先级高于左子树(或右子树)根结点运算符时就需要加括号。核心语句段如下: if(bt) (if(bt一>ichild!=null) fbracket:Precede(bt一>databt一>ichild一>data) //双亲与左子女运算符优先级 if(bracket==
这是用二叉树表示符号算术表达式的逆问题,即将二叉树表示的表达式还原成原表达式。二叉树的中序遍历序列与原算术表达式基本相同,差别仅在于二叉树表示中消除了括号。将中序序列加上括号就恢复原貌。当根结点运算符优先级高于左子树(或右子树)根结点运算符时,就需要加括号。核心语句段如下:if(bt)(if(bt一>ichild!=null)fbracket:Precede(bt一>data,bt一>ichild一>data)//双亲与左子女运算符优先级if(bracket==
