OSDN Git Service

feat: 添加表达式树相关
authorIr1dXD <sirius.caffrey@gmail.com>
Thu, 1 Nov 2018 14:11:14 +0000 (22:11 +0800)
committerGitHub <noreply@github.com>
Thu, 1 Nov 2018 14:11:14 +0000 (22:11 +0800)
docs/basic/expression.md

index d3b8249..c7ab16a 100644 (file)
@@ -9,6 +9,12 @@
 递归的方法是把表达式拆分成如图所示的表达式树,然后在树结构上自底向上进行运算。
 ![](./images/bet.png)
 
+表达式树上进行 [树的遍历](/graph/traverse/#dfs_3) 可以得到不同类型的表达式
+
+- 前序遍历对应前缀表达式(波兰式)
+- 中序遍历对应中缀表达式
+- 后序遍历对应后缀表达式(逆波兰式)
+
 ## 非递归
 
 非递归的方法是定义两个 [栈](/stack/) 来分别存储运算符和运算数。每当遇到一个数直接放进数的栈;每当遇到一个操作符时,要查找之前运算符栈中的元素,按照预先定义好的优先级来进行适当的弹出操作(弹出的同时求出对应的子表达式的值)。