java 二叉树(十二)二叉树计算表达式

本文介绍了如何使用Java将逆波兰表达式转换为二叉树,并通过后序遍历来计算表达式。算法过程包括逐个压栈操作数和运算符,当遇到运算符时构建二叉树节点,最后通过后序遍历求值。详细步骤和示例解释了整个转换和计算的过程。
摘要由CSDN通过智能技术生成

实现原理:把得到的逆波兰式进行逐个压入栈中,如:ab+c*ab+e/- 首先把a当作一个节点压入栈S中,然后继续吧b压入栈S中,当遇到+时,先把b弹出作为+的右孩子,把弹出作为+的左孩子。然后把+作为ab的根节点,这样就形成了一颗树。然后把+压入栈S中,依次重复向S1中压入即可。

最后把得到的二叉树进行后序遍历计算,后序遍历的时候每遇到一个操作符就把操作符的左孩子和右孩子进行相应的操作即可。

下面给出一种算法来把后缀表达式转变成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值