前、中、后缀表达式

前缀表达式:

+ 3 * 2 + 5 12

这个式子=23

具体计算方法是:

设两个栈,分别为数字栈和符号栈

每遇到一个符号,将其压栈,遇到一个数字,也压栈

如果发现数字栈中有数字,所以将数字栈首弹出,字符栈首弹出,和新的数运算

运算结果压入数字栈

上面表达式为:2*3+5+12

中缀表达式:

和平时一样,详情见小学三年级课本。

后缀表达式:

和前缀表达式差不多,只不过变成从后往前扫。

这是一颗二叉树,嗯

前缀表达式、中缀表达式、后缀表达式就是这颗二叉树的先序遍历、中序遍历、后序遍历。

神奇吧

posted @ 2017-10-13 17:55  Dijkstra·Liu  阅读(1923)  评论(0编辑  收藏  举报