【数据结构】二叉树性质巩固(二)

简介: 【数据结构】二叉树性质巩固(二)

例题5.


1ef7f34e64bd5ea6a830231b4b7c0fa3_c0f95787693441c18f013f1a7cc7b291.png


答案:C


解析:


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


3763eda8d7966cab3d3134547d3fc528_3ab64a7805624885897933e60a895270.png


前: ABDEC 中:BDEAC


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


例题6.


46af151b7673213eb6b947bdf1ad426b_8fdacbb0b79c46ed9b34dbecfe2d569d.png


答案:A


解析:


最大深度: 即每次只有一个节点,次数二叉树的高度为n,为最高的高度


最小深度: 此树为完全二叉树, 如果是完全二叉树


根据二叉树性质,完全二叉树的高低为 h = log(n+1)向上取整


故选择A


例题7.


ef287b2a8c27ab6699383b91fc48e4fb_c22f47b8361140bb9ee6b2db65e131d4.png


答案:D


解析:


BFS:

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


DFS:

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


例题8.


18a22b237fde91de8a2b3ea03f840822_2d5678669cc94ed1817dbb474f6d2e16.png


答案: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.


a42565683483cb28bc320d0d1cff6187_c694f7f2b1134d90bdfafd8741d1f73b.png


答案:C


解析:


前序遍历:根 左 右


后序遍历:左 右 根


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


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


12345


54321


7fcfb98256ced63be6bcac2fd529d9e8_f59f4bab54134f58bfbb530dc164a2b7.png

目录
相关文章
|
2天前
【数据结构】二叉树(遍历,递归)
【数据结构】二叉树(遍历,递归
16 2
|
2天前
|
算法 编译器 C语言
数据结构——二叉树四种遍历的实现-3
数据结构——二叉树四种遍历的实现
数据结构——二叉树四种遍历的实现-3
|
2天前
|
存储
数据结构——二叉树四种遍历的实现-2
数据结构——二叉树四种遍历的实现
数据结构——二叉树四种遍历的实现-2
|
2天前
|
机器学习/深度学习
数据结构——二叉树四种遍历的实现-1
数据结构——二叉树四种遍历的实现
数据结构——二叉树四种遍历的实现-1
|
2天前
【数据结构】二叉树的三种遍历(非递归讲解)
【数据结构】二叉树的三种遍历(非递归讲解)
9 1
|
2天前
|
存储
【数据结构】二叉树相关oj题(一)
【数据结构】二叉树相关oj题(一)
10 1
|
2天前
|
存储 分布式数据库
[数据结构]~二叉树
[数据结构]~二叉树
|
2天前
|
C语言
【C语言/数据结构】二叉树(层序遍历|判断完全二叉树|性质)
【C语言/数据结构】二叉树(层序遍历|判断完全二叉树|性质)
280 52
|
2天前
【数据结构】二叉树-堆(top-k问题,堆排序,时间复杂度)
【数据结构】二叉树-堆(top-k问题,堆排序,时间复杂度)
17 4
|
2天前
【数据结构】二叉树-堆(函数实现)
【数据结构】二叉树-堆(函数实现)
13 2