17、二叉树与二叉搜索树的深入解析

二叉树与二叉搜索树的深入解析

1. 表达式树处理

表达式树是一种用于处理算术表达式的二叉树。树中的节点包含两种类型的对象:运算符和终结值。运算符有操作数,而终结值没有操作数。表达式树的思想很简单,每个节点的子树是其父节点中运算符的操作数。操作数可以是终结值,也可以是其他表达式。表达式在子树中展开,终结值位于叶节点。

通过不同的遍历方式(前序、中序、后序),表达式树可以轻松地将表达式转换为三种常见表示形式:前缀、中缀和后缀。

1.1 不同遍历方式得到的表达式及求值
  • 前缀表达式 :前序遍历表达式树可得到前缀表达式。例如,对于表达式树进行前序遍历得到前缀表达式 x / - 74 10 32 + 23 17 。求值时,将每个运算符应用于紧随其后的两个操作数,计算结果为 ( x ( / ( - 74 10 ) 32 ) ( + 23 17 ) ) = 80
  • 中缀表达式 :中序遍历得到中缀表达式,如 74 - 10 / 32 x 23 + 17 。中缀表达式是我们在数学中最熟悉的形式,但计算机处理起来不太方便,因为它没有明确的运算顺序。不过,我们可以通过在遍历树时为表达式的每个部分添加括号来解决这个问题,完整加括号后的表达式求值为 ( ( ( 74 - 10 ) / 32 ) x ( 23 + 17 ) ) = 80
  • 后缀表达式 :后序遍历得到后缀表达式,如
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值