根据中缀二叉树构建中缀表达式

embedded/2024/11/29 12:47:50/

请设计一个算法,将给定的表达式树(二叉树)转换为等价的中缀表达式(通过括号反应操作符的计算次序)并输出,例如,当下列两棵表达式树作为算法的输入时:

输出的等价表达式分别为(a+b)*(c*(-d))和(a*b)+(-(c-d))。

二叉树结点定义如下:

typedef char TElemType[10] ;   //存储操作数或操作符typedef struct BiTNode{TElemType data;struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;

要求:实现该算法

解题思路:

中缀二叉树中,叶子节点都是操作数,内部节点都是操作符,所以当遇到操作符时,在外层加上左右括号,并递归向孩子节点,当遇到叶子节点(操作数节点)时,直接输出节点值。

ps:由于最外层不用加括号,所以需要判断是否为根节点(isRoot函数)

Status isRoot(BiTree T)
{if(T == root)return TRUE;
}
void InOrderTraverse(BiTree T)
{if(!T)return;if(T->lchild || T->rchild){if(!isRoot(T))printf("(");InOrderTraverse(T->lchild);printf("%c",T->data);InOrderTraverse(T->rchild);if(!isRoot(T))printf(")");}else{printf("%c",T->data);}
}

 


http://www.ppmy.cn/embedded/141468.html

相关文章

Ubutuns服务器搭建与维护

1.靶机搭建 首先,安装 Apache2 作为 Web 服务器: sudo apt install apache2 安装完成后,可以启动 Apache 服务并确保它开机自启: sudo systemctl start apache2 sudo systemctl enable apache2然后,你可以通过访问…

适配器模式(一种设计模式)

适配器模式, 也叫包装器模式. 将⼀个类的接⼝,转换成客⼾期望的另⼀个接⼝, 适配器让原本接⼝不兼容的类可以合作无间。 简单来说就是⽬标类不能直接使⽤, 通过⼀个新类进⾏包装⼀下, 适配调⽤⽅使⽤. 把两个不兼容的接⼝通过⼀定的⽅式使之兼容. 回忆一下slf4j模式…

已解决WordPress图片无法显示,免插件实现WordPress上传图片时自动重命名

在我们使用 WordPress 发布文章时,经常都需要添加图片、多媒体什么的。然而,大家都知道 WordPress 是舶来物,对于中文用户来说,我们都会把图片命名为中文的,由于 WordPress 机制的原因,并不能正常的显示图片…

uniapp强制修改radio-group内单选组件的状态方法

在uniapp开发中,需要在radio-group内部切换时做判断,提醒客户是否要变换radio的值,但是大家知道radio是单选组件,往往你点击后,是不能再修改状态的,就算你在点击后做判断,修改current的值&#…

未成年人模式护航,保障安全健康上网

为保护未成年人的上网环境,预防未成年人沉迷网络,帮助未成年人培养积极健康的用网习惯,HarmonyOS SDK 提供未成年人模式功能,在华为设备上加强对面向未成年人的产品和服务的管理。 场景介绍(应用跟随系统未成年人模式…

Leetcode3208:交替组 II

题目描述: 给你一个整数数组 colors 和一个整数 k ,colors表示一个由红色和蓝色瓷砖组成的环,第 i 块瓷砖的颜色为 colors[i] : colors[i] 0 表示第 i 块瓷砖的颜色是 红色 。colors[i] 1 表示第 i 块瓷砖的颜色是 蓝色 。 环…

使用springBoot的freemarker生成按模板生成word

后端操作 引入对应的依赖包 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-freemarker</artifactId></dependency>生成word代码 public static void main(String[] args) throws Exception …

气膜建筑:打造全天候安全作业空间,提升工程建设效率—轻空间

在现代建筑工程中&#xff0c;施工环境的管理和作业效率是决定项目进度和质量的关键因素。然而&#xff0c;施工过程中常常会受到天气变化的影响&#xff0c;诸如大风、雨雪、沙尘等恶劣天气常常延误工期&#xff0c;增加施工难度。为了解决这一问题&#xff0c;气膜建筑以其独…