题1 二叉树
一棵二叉树的前序遍历为ABCDEFG,则其中序遍历不可能为:
- ABCDEFG
- GFEDCBA
- CBEDAGF
- DBCEAFG
题解1
解决的思路一般有两种
1、将先序序列和各个du中序序列结合起来,联zhi合起来还原二叉树,如果可以还原,就是正确的
2、转化成入栈出栈问题。
1.一棵二叉树的前序遍历结果,就是前序遍历时候元素入栈顺序。
2.一颗二叉树的中序、后序遍历的结果,就是中序遍历、后序遍历遍历时候元素出栈顺序。
将先序序列看成是一个进栈序列,如果通过栈后能够得到的就是合法的中序序列,否则就不是
因此用第二个办法最快
用第二个办法看:
选项1,先入先出,可能
选项2,ABC入栈后,CB依次出栈;DE依次入栈,ED依次出栈;FG依次入栈,FG依次出栈;最后A出栈。所以出栈顺序:CBEDFGA,可能
选项3,先入后出,可能
选项4为答案
题2 信号量
已知信号量的初值为2,当前值为-3,则表示有___个等待进程。
题解2
当信号量控制互斥问题时,其初值往往代表资源的个数。本题初值为2,说明该种资源数量2个。当进程将2个资源全部占有之后,信号量值减至0,此时若再有进程要求申请该资源,则必