Day 6 二叉树

1.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是 A

A.中序序列

B.前序序列

C.后序序列

D.前序序列或后序序列

2..已知某二叉树的前序遍历序列为5 7 4 9 6 2 1,中序遍历序列为4 7 5 6 9 1 2,则其后序遍历序列为( C)

A.4 2 5 7 6 9 1

B.4 2 7 5 6 9 1

C.4 7 6 1 2 9 5

D.4 7 2 9 5 6 1

解析:

通过前序遍历找到子树的根,在中序遍历中找到根的位置,然后确定根左右子树的区间,即根的左侧为左子树中所有节点,根的右侧为右子树中所有节点。

通过前序遍历得根: 5

5的左子树:4 7          5的右子树: 6 9  1  2

5的左子树的根为: 7   5的右子树的根为:9

7的左子树: 4 7的右:空  9的左子树:6  9的右子树:2

3.已知某二叉树的中序遍历序列为JGDHKBAELIMCF,后序遍历序列为JGKHDBLMIEFCA,则其前序遍历序列为(B

A.ABDGHJKCEFILM

B.ABDGJHKCEILMF

C.ABDHKGJCEILMF

D.ABDGJHKCEIMLF

解析:

由后序遍历确定子树的根,后序遍历从后向前看,最后一个元素为根,和前序遍历刚好相反,从后向前看后序遍历,应该是根,右,左,根据中序遍历确定子树的左右区间

根为: A

A的左子树:JGDHKB       A的右子树:ELIMCF

A的左子树的根:B            A的右子树的根:C

B的左子树:JGDHK    B的右子树:空    C的左子树:ELIM   C的右子树:F

B的左子树的根:D            C的左子树根:E

D的左子树的根:G    D的右子树的根:H     E的右子树的根:I

 

4..已知某二叉树的前序遍历序列为ABDEC,中序遍历序列为BDEAC,则该二叉树(C )

A.是满二叉树

B.是完全二叉树,不是满二叉树

C.不是完全二叉树

D.是所有的结点都没有右子树的二叉树

解析:前序确定根,中序找到根确定根的左右子树,最后还原二叉树为:

前: ABDEC        中:BDEAC

所以既不是满二叉树,也不是完全二叉树

5.二叉树的( )遍历相当于广度优先遍历,(D)遍历相当于深度优先遍历

A.前序 中序

B.中序 前序

C.层序 后序

D.层序 前序

解析:广度优先需要把下一步所有可能的位置全部遍历完,才会进行更深层次的遍历,层序遍历就是一种广度优先遍历。

深度优先是先遍历完一条完整的路径(从根到叶子的完整路径),才会向上层折返,再去遍历下一个路径,前序遍历就是一种深度优先遍历。

6.如果一颗二叉树的前序遍历的结果是ABCD,则满足条件的不同的二叉树有(B)种

A.13

B.14

C.15

D.16

解析:首先这棵二叉树的高度一定在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种。

7.一棵非空的二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足(C )

A.所有的结点均无左孩子

B.所有的结点均无右孩子

C.只有一个叶子结点

D.至多只有一个结点

解析:前序遍历:根 左 右         后序遍历:左 右 根

从二叉树 前序 和 后序遍历结果可以看出,如果树中每个节点只有一个孩子时,遍历结果肯定是反的

比如下面这前序和中序序列所构成的树的结构:

12345

54321

8.有n个元素的完全二叉树的深度是 logn+1 。

9.n个节点的完全二叉树,最多可以有 log(n)+1(向下取整) 层。 

10.将一棵二叉树的根结点放入队列,然后递归的执行如下操作,将出队结点所有子结点先左后右式的加入队。以上操作可以实现 层序遍历

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹿小伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值