`
mouer
  • 浏览: 97579 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

二叉树and表达式

阅读更多

遍历方案

  从二叉树的递归定义可知,一棵非空的二叉树由根结点及左、右子树这三个基本部分组成。因此,在任意给定结点上,可以按某种次序执行三个操作:

  (1)访问结点本身(N)

  (2)遍历该结点的左子树(L)

  (3)遍历该结点的右子树(R)

  2.三种遍历的命名

  根据访问结点操作发生位置命名:

NLR:前序遍历

——访问结点的操作发生在遍历其左右子树之前。

LNR:中序遍历

  ——访问结点的操作发生在遍历其左右子树之中()

  ③ LRN

   ——访问结点的操作发生在遍历其左右子树之后。

 

 

如果给出中缀表达式是(A+B)*C-D/(E+F)

请给出前缀和后缀表达式。。。

1. 构造二叉树



 

 

1. 按照上面的树的遍历

: 前序遍历对应前缀表达式,后序遍历对应后缀表达式

 

介绍一种简单的方法就是把运算式按照运算的顺序,加入括号();

(A+B)*C-D/(E+F) à (((A+B)*C)-(D/(E+F)))

前缀表达式就是把运算符都运动到括号的左边,后续就是把运算符都移动到括号的右边.去掉括号即可

:-*+ABC/D+EF AB+C*DEF+/-

  • 大小: 25 KB
分享到:
评论

相关推荐

    怎样计算命题公式的真值

    所谓命题演算公式是指由逻辑变量(其值为TRUE或FALSE)和逻辑运算符∧(AND)、∨(OR)和┐(NOT)按一定规则所组成的公式(蕴含之类的运算可以用∧、∨和┐来表示)。公式运算的先后顺序为┐、∧、∨,而括号()...

    LeetCode解题总结

    3.12 Count and Say 3.13 变位词 3.14 简化系统路径 3.15 最后一个单词的长度 3.16 反转字符串中的单词 3.16.1 字符串前后和中间可能存在多个空格 3.16.2 不存在前后和中间的多余空格 3.17 一个编辑距离 4. 栈 4.1 ...

    java二叉树算法源码-Java::pencil:计算机基础:hot_beverage:Java:woman_and_man_holding_hands:面向对象:memo:编程题:floppy_disk:数据库:hammer:消息中间件:open_book:系统设计:laptop:工具:wrench:进阶指南:speak-no-evil_monkey:参考资料

    java二叉树算法源码 项目对应 WebSIte: :pencil: 计算机基础 1. 计算机网络 2. 操作系统 3. 数据结构和算法 4. HTTP 5. Linux :hot_beverage: Java 1. Java 基础 2. Java 容器 3. Java 虚拟机 4. Java 并发 5. Java...

    区间覆盖最大leetcode-Data-Structures-and-Algorithms:具有全面测试、覆盖和持续集成的数据结构和算法

    二叉树、DFS、遍历 2 前序遍历 二叉树、DFS、遍历 3 后序遍历 二叉树、DFS、遍历 4 层序遍历 二叉树、BFS、遍历 5 检查二叉树是否是二叉搜索树 顺序遍历 6 二叉搜索树中的第 K 个最小元素 顺序遍历 7 最低共同祖先 ...

    计算命题演算公式的真值课程设计报告

    所谓命题演算公式是指由逻辑变量(其值为TRUE或FALSE)和逻辑运算符∧(AND)、∨(OR)和┐(NOT)按一定规则所组成的公式(蕴含之类的运算可以用∧、∨和┐来表示)。公式运算的先后顺序为┐、∧、∨,而括号()...

    leetcode中文版-leetcode:leetcode

    中缀表达式到后缀表达式 用后缀计算表达式 队列 队列结构 树 二叉树结构 二叉搜索树结构 遍历二叉树 html解析器 图形 普里姆 迪杰斯特拉 力码 3sum 3sum_closest 4sum 添加二进制 添加数字 添加字符串 add_two_...

    leetcode中文版-cabbird:一组用python编写的算法

    中缀表达式到后缀表达式 用后缀计算表达式 队列 队列结构 树 二叉树结构 二叉搜索树结构 遍历二叉树 html解析器 图形 普里姆 迪杰斯特拉 力码 3sum 3sum_closest 4sum 添加二进制 添加数字 添加字符串 add_two_...

    leetcode和oj-Data-Structures-and-Algorithms:数据结构与算法

    正则表达式 数据压缩 图的算法 图的存储结构和基本操作(建立,遍历,删除节点,添加节点) 最小生成树 拓扑排序 关键路径 最短路径: Floyd,Dijkstra,bellman-ford,spfa 排序算法 交换排序算法 冒泡排序 插入排序 ...

    ACM算法竞赛常用代码

    数据结构(广度优先搜索,验证括号匹配,表达式计算,递归的编译,Hash表,分段Hash,并查集,Tarjan算法,二叉堆,左偏树,二斜堆,二项堆,二叉查找树,红黑树,AVL平衡树,Treap,Splay,静态二叉查找树,2-d树,...

    宋劲彬的嵌入式C语言一站式编程

    3.1. Sign and Magnitude表示法 3.2. 1's Complement表示法 3.3. 2's Complement表示法 3.4. 有符号数和无符号数 4. 浮点数 15. 数据类型详解 1. 整型 2. 浮点型 3. 类型转换 3.1. Integer Promotion 3.2. Usual ...

    javalruleetcode-leetcode_by_py:他妈的leetcode与python

    and JAVA fucking 剑指offer 题号 题目 难度 解析 python java 剑指offer03 数组中重复的数字 简单 剑指offer04 二维数组中的查找 中等 剑指offer05 替换空格 简单 剑指offer06 从头到尾打印链表 简单 剑指offer07 ...

    c/c++ 学习总结 初学者必备

    我们可以用ASCII表达式来表示一个字符型常量,或者用单引号内加反斜杠表示转义字符。  'A', '\x2f', '\013';  其中:\x表示后面的字符是十六进制数,\0表示后面的字符是八进制数。  注意:在Turbo C 2.0中,字符...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    C:\Documents and Settings\系统用户名、LocalSettings\Temp目录下的临时文件。 七、 oracle中的数据库 八、 常用的工具  Sql Plus  Sql Developer  Oracle Enterprise Manager   第二章 用户和权限 ...

    JAVA面试题最全集

    请用java写二叉树算法,实现添加数据形成二叉树功能,并以先序的方式打印出来. 43.请写一个java程序实现线程连接池功能? 44.给定一个C语言函数,要求实现在java类中进行调用。 45.如何获得数组的长度? 46....

    Delphi开发范例宝典目录

    第1章 窗体与界面设计 1 1.1 菜单应用 2 实例001 在系统菜单中添加菜单项 2 实例002 带历史信息的菜单 3 实例003 菜单动态合并 4 实例004 像“开始”菜单一样漂亮的菜单 5 实例005 多彩的菜单 6 ...

    《数据结构 1800题》

    二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?(A )【北方交通大学 2001 一、2(2分)】 A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对 x的赋值语句的频度为(C )...

Global site tag (gtag.js) - Google Analytics