美文网首页
[二叉树] 表达式树

[二叉树] 表达式树

作者: 爱上落入尘世间的你 | 来源:发表于2017-12-05 10:40 被阅读0次

将中缀表达式转换成表达式树

最快捷的方法是先找到表达式树的根元素, 以下面的这个中缀表达式为例

a + b * c - ( d + e / f * ( g + h ) )

为了找到表达式树的根元素, 首先把表达式的所有运算都加上括号, 如下

( a + ( b * c ) ) - ( d + ( ( e / f ) * ( g + h ) ) ) 

括号外的 - 优先级最低, 作为表达式树的根节点, 这样就可以以根节点开始, 画出整个表达式树了

还是上面的例子, - 为根节点, 那么左子树的表达式就是:

a + ( b * c )

再次选择括号外优先级最低的运算符作为子树的根, 因此左子树的根就是 +

依次类推, 往下面递归, 就可以很容易的画出整个表达式树了

表达式树

转化为前缀表达式

画出表达式树之后, 只需要对这个树进行先根遍历就可以得到对应的前缀表达式

转化为后缀表达式

画出表达式树之后, 只需要对这个树进行后根遍历就可以得到对应的后缀表达式

相关文章

  • 二叉树的应用----表达式树

    文章目录 何为表达式树 表达式树实现 作为二叉树的一个应用,这里就用二叉树这种数据结构来实现~ 这里有一个重要的知...

  • 数据结构(C++实现)--二叉树

    二叉树 二叉树是每个父节点最多只有两个子节点 如图,是表达式的二叉树的表示。引申出: 满二叉树,每个父节点都有两个...

  • 精选-LC

    10. 正则表达式匹配 617. 合并二叉树 104. 二叉树的最大深度 557. 反转字符串中的单词 III 5...

  • day04-栈

    栈 解决实际问题: 表达式的求职和转换(中缀表达式转后缀表达式) 二叉树的遍历 深度优先搜索 概念: 栈(stac...

  • 数据结构与算法-二叉树02

    二叉树的定义 二叉树的特点 二叉树的五中基本形态 其他二叉树 斜二叉树 满二叉树 完全二叉树图片.png满二叉树一...

  • 树与二叉树

    **树 ** 二叉树 满二叉树 完全二叉树 三种遍历方法 树与二叉树的区别 二叉查找树 平衡二叉树 红黑二叉树

  • 中缀/后缀/前缀表达式求值

    三种表达式的定义: 中缀/后缀/前缀表达式根据二叉树的中序/后序/前序遍历而来,举个例子(3 + 4) × 5 -...

  • 数据结构学习笔记

    1. 树,森林,二叉树之间的转换 树转换为二叉树 森林转为二叉树 二叉树转为树 二叉树转为森林 2. 哈弗曼树

  • 二叉树

    二叉树 高度 深度真二叉树 满二叉树 完全二叉树 二叉树遍历前序 中序 后序层序遍历 翻转二叉树 递归法...

  • 实验五——表达式计算

    利用二叉树求解表达式的值,编写程序test5.cpp要求:输入一个算术表达式(以“#”开始,以“#”结束),建立对...

网友评论

      本文标题:[二叉树] 表达式树

      本文链接:https://www.haomeiwen.com/subject/tguqixtx.html