一个表达式的典型形式(中缀表达式)为
12 + 4 * 5 - ( 4 / 3 + 123 )
先将其转换为后缀表达式(可用双栈法)
[12, 4, 5, *, +, 4, 3, /, 123, +, -]
以下构造操作均需将原始数据包装为二叉树结点Node。
表达式树的叶子结点是操作数,其余结点为操作符
构造时,也需要用到栈来暂存那些部分构造好的子树
首先操作数将直接推入栈中
遇到操作符,便取出栈中的两个结点(可能是操作数,也可能是一个子树),分别作为左右子树挂在操作符结点上,然后将这个新的结点推入栈中。
到最后栈中应该只有一个结点,即为表达式树的根结点。
结果如下
标签:结点,操作数,构造,操作符,栈中,表达式 From: https://www.cnblogs.com/xiang-jin-hua/p/16596632.html