例题5.
答案:C
解析:
前序确定根,中序找到根确定根的左右子树,最后还原二叉树为:
前: ABDEC 中:BDEAC
所以既不是满二叉树,也不是完全二叉树
例题6.
答案:A
解析:
最大深度: 即每次只有一个节点,次数二叉树的高度为n,为最高的高度
最小深度: 此树为完全二叉树, 如果是完全二叉树
根据二叉树性质,完全二叉树的高低为 h = log(n+1)向上取整
故选择A
例题7.
答案:D
解析:
BFS:
广度优先需要把下一步所有可能的位置全部遍历完,才会进行更深层次的遍历,广度优先一般使用队列。层序遍历就是一种广度优先遍历。
DFS:
深度优先是先遍历完一条完整的路径(从根到叶子的完整路径),才会向上层折返,再去遍历下一个路径,深度优先一般使用递归。前序遍历就是一种深度优先遍历。
例题8.
答案:B
解析:
首先这棵二叉树的高度一定在3~4层之间:
三层:
A(B(C,D),()), A((),B(C,D)), A(B(C,()),D), A(B((),C),D),
A(B,C(D,())), A(B,C((),D))
四层:
如果为四层,就是单边树,每一层只有一个节点,除过根节点,其他节点都有两种选择,在上层节点的左边还是右边,所以2 * 2 * 2共8种
总共为14种。
例题9.
答案:C
解析:
前序遍历:根 左 右
后序遍历:左 右 根
从二叉树 前序 和 后序遍历结果规则中可以看出,如果树中每个节点只有一个孩子时,遍历结果肯定是反的
比如下面这前序和中序序列所构成的树的结构:
12345
54321