后缀表达式用二叉树计算
时间: 2023-10-19 17:07:52 浏览: 134
利用二叉树计算后缀表达式
后缀表达式也称为逆波兰表达式,它可以使用二叉树来计算。具体做法是,从左到右扫描后缀表达式,遇到数字就将其作为叶子节点插入到二叉树中,遇到运算符就将其作为父节点插入到二叉树中,并将其两个操作数作为左右子节点插入到父节点下面。最后得到的二叉树就是后缀表达式对应的表达式树。
对于表达式树的计算,可以采用递归的方式进行。从根节点开始,如果当前节点是叶子节点,则返回该节点对应的数值;如果当前节点是运算符节点,则递归计算左右子树的值,并根据当前节点的运算符进行计算,最终返回计算结果。
下面是一个示例后缀表达式及其对应的表达式树:
后缀表达式:5 3 8 * + 4 -
对应的表达式树:
```
-
/ \
+ 4
/ \
5 *
/ \
3 8
```
计算过程如下:
1. 计算左子树(5 + 3 * 8)的值为 29。
2. 计算右子树(4)的值为 4。
3. 根据当前节点的运算符进行计算(29 - 4),得到表达式的结果为 25。
阅读全文