前/中/后表达式的转换

本文介绍了一种利用二叉树来求解前、中、后缀表达式的方法。通过实例a*(b+c)-d逐步解析,并展示了如何通过二叉树的前序、中序、后序遍历得到相应的表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       找工作笔试的时候通常会遇到给定一个一般的表达式,让你求他的前、中、后缀表达式,根据其定义求表达式往往不直观,不好理解,下面给出一个利用二叉树来求解前、中、后表达式的方法。

     例如给定的表示式为:a*(b+c)-d

   1、根据表达式运算步骤画出二叉树,首先是(b+c)

        

2、接着是a*(b+c)


3、最后是a*(b+c)-d


下面来讲述怎么构造前、中、后表达式,其对应关系如下:

(1)前序遍历(根—左—右)——前缀表达式:-*a+bcd

(2)中序遍历(左—根—右)——中缀表达式:a*b+c-d

(3)后序遍历(左—右—根)——后缀表达式:abc+*d-

PS:如何分析左右根?首先将整个二叉树分为左右根,然后将左子树也看成整个的一棵树,继续分为左右根,这个分层次找出左右根~~



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值