利用二叉树的中序遍历实现中缀表达式输出,用()来表明顺序

本文介绍了如何利用二叉树的中序遍历方法实现中缀表达式的输出,通过括号明确运算顺序。重点讲解了递归逻辑,包括终止条件、单层逻辑,并提供了具体的代码实现思路,如空节点处理、叶节点输出和非叶节点的括号添加策略。

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


学习内容:

利用二叉树的中序遍历实现中缀表达式输出,用()来表明顺序

逻辑

1.递归参数与返回值

2.终止条件

3.单层逻辑

||

  • 写出结束条件
  • 不要把树复杂化,就当做树是三个节点,根节点,左子节点,右子节点
  • 只考虑当前做什么,不用考虑下次应该做什么
  • 每次调用应该返回什么

代码逻辑,将二叉树分为叶子,根,子树三类,(当然叶子也应属于一类特殊的子树,但明显对于子树根存放运算符的本题来说,它应当被单独处理)

所以单层逻辑:

        1、空节点直接返回;

        2、叶节点直接输出当前值;

        3、非叶节点(子树),遍历开始前加“(”,遍历结束后加“)”   //或者理解为简化三个节点的二叉树,遍历左之前加(,遍历右之后加 );

        4、deep唯一作用:确保当前操作节点不为根;


学习产出:

void InOrder(Bitree T){
	if(T==NULL) return;
    else{
    	if(T->lchild==NULL&&T->rchild==NULL)
    	
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值