Code前端首页关于Code前端联系我们

树遍历、二叉树后序遍历、C 语言示例代码 VS 后缀表达式(逆波兰式)

terry 2年前 (2023-09-27) 阅读数 69 #数据结构与算法

1。简介

还是下面三句:

前序遍历:根左右

中序:左根右

树的遍历之后序遍历二叉树,C语言示例代码VS后缀表达式(逆波兰式)

后序遍历就是用先左后的方法访问二叉树的节点时先向右,然后向根。对于a最简单的访问如图所示。首先访问左节点B,然后访问右节点C,最后访问根节点A,顺序遍历访问顺序为BCA。

树的遍历之后序遍历二叉树,C语言示例代码VS后缀表达式(逆波兰式)

但得来速本身并不那么简单。它通常是由多个彼此嵌套的节点组成的二叉树。

如图所示,在访问遍历开始时,首先访问左节点B,然后右节点C最终访问A,但是由于B节点中还包含了新节点,正如之前介绍的,当有与已处理节点相连的节点,其子节点必须先被处理,这也是“递归”的基本思想。因此,由于B属于DG的根节点,所以我们应该先访问B之前的D节点,而由于D节点属于 的EF根节点,所以我们会先访问E节点,E属于末尾。根据左右根后序交叉的访问顺序,整体生成了EFDGB,然后我们需要访问C,因为C是^HC中的根节点,我们首先访问这个空节点,而因为是空节点,所以跳过它,成为HC的访问顺序,然后汇总时将EFDGB作为左节点。 HC作为右节点,A作为根节点,完成我们最终的遍历序列EFDGBFCA。? 后序(节点*节点){ if (节点​​!= NULL)❀❀

inorder(节点->左) ; 有序(节点->右); ->data); } ) 公式就是大家熟知的有序法,而逆波兰法则采用后续遍历的方式来访问。

如图所示,是正则表达式:(a+b)*c

二叉树表达式为:树的遍历之后序遍历二叉树,C语言示例代码VS后缀表达式(逆波兰式)

逆波兰表达式为ab+c*。与波兰风格相比,逆波兰风格是将符号向后移动。计算机中读操作的概念也符合栈的思想,所以没有特别的区别。是考研/软件考试/算法竞赛中常见的类型。提醒的是关于波兰表达式、正则表达式和逆波兰表达式之间的转换以及基本的数学运算。

树的遍历之后序遍历二叉树,C语言示例代码VS后缀表达式(逆波兰式)

请回答这棵树的订单后评论是什么?

树的遍历之后序遍历二叉树,C语言示例代码VS后缀表达式(逆波兰式)

请回答这棵树的邮购评论是什么?

l 请回答((a+b)+(c+d))*e如何转换为后缀表达式以及如何表达。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门