前中后缀表达式是一个很不错的考点!
数据结构中
大家常用栈来进行操作
为什么会有这个东西的存在呢?那是因为我们认为的算是虽然很简单,
但是在机器认为却不同,而后缀表达式之类的就是可以更加方便机器理解
就拿后缀表达式来举例子吧
大家对于后缀表达式 是从左到右来进行解答的 而前缀则是相反
1 2 3 + 4 × + 5 -
这是一个后缀表达式
首先我们把123压入栈
遇到了+号 取出2个 相加 2+3=5;
5放进去 继续压 4进去
碰见了乘号 取出来2个 5*4=20
压进去 现在是1 20在里面 遇上了加号 20+1=21
继续 把5压进去21 5 遇到了减号
21-5=16;就是这道题的答案了
前缀的话只是从右往左就行啦
然后就是前序中序后序
首先 它常用于树
我不会画图,找不到在哪里 就随便找了一个图,我的方法是 从头抓!
啥意思呢 就是根节点为主 先写根节点的那个树比如说左图
那前序是先输入该节点 然后左孩子 右孩子
记住 咱们先写的分散一点
1 2 3
就这样吧 然后分别对这三个分析 ,1就没有了吧 然后2
我们让2当结点 左孩子是4 右孩子是5
1 2 4 5 3
最后让3当结点 6是右孩子
124536 这个就是前序排列了
无独有偶
后序排列也是一样的
后序排列是写输出左孩子 然后右孩子 最后是结点
先写分散
2 3 1
对吧 然后对2分析
2是结点的话
452 3 1
对3分析 3是结点
452631就是这个题答案咯