摘要:
各大公司招聘每次笔试都碰到这种题,今天来把它说清楚.三序中知道其中两个就可以推出第三个,但前提是我们必须知道中序.因为:先序和后序给我们提供的信息是一样的--告诉我们谁是根节点中序则告诉我们左右子树在哪儿例:已知先序为eacbdgf,中序为abcdefg,求后序由先序我们知道e为根节点,我们在中序中把左右子树括起来--(abcd)e(fg)同样对左子树abcd进行分析,先序为acbd,中序为abcd.--a(bcd)递归下去就可以了后序为bdcafge代码实现上述例子:#include "stdio.h"#include "string.h"#inclu 阅读全文
摘要:
首先声明我们的表达式(expression)只是简单的四则运算,再加上小括号.操作数operand,操作符operator如果直接给出后缀表达式(postfix,也叫逆波兰式)是最容易计算的,这种表达式中已经不含括号.方法:遇到操作数时压入栈中;遇到操作符时从栈中弹出两个元素进行此运算,再将运算结果压入栈中.代码如下:#include<iostream>#include<cstdlib>#include<stack>#include<vector>#include<string>using namespace std;int main 阅读全文