6 二叉树

6 二叉树

每个结点最多有两个孩子的树,左边的叫作左孩子,右边的叫作右孩子,或者说,每个结点最多有两棵子树的树。

满二叉树(也叫完美二叉树,perfect binary tree)

在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子结点都在同一层上,这样的一棵二叉树称之为满二叉树

性质

叶子只能出现在最下一层;
非叶子结点一定有两个孩子;
在同样深度的二叉树中,满二叉树的结点个数最多,叶子最多。

完全二叉树(complete binary tree)

对一棵树中的结点按从上至下、从左至右的顺序进行编号,如果每个节点的编号都与该位置在满二叉树中的编号相同,则称该树为完全二叉树。

性质

叶子结点只能出现在最下两层;
最下层若有叶子结点,一定集中在左侧;
倒数第二层若有叶子结点,一定集中在右侧;
如果结点只有1个孩子,则该孩子为左孩子;
同样结点数的二叉树,完全二叉树的深度最小。

二叉树的存储

  1. 顺序存储-记录儿子
    将每个结点的信息存放在一维数组中,记录该结点的数据值(如果有)、父结点编号、左儿子编号、右儿子编号。
#define M 10 //树中结点数的上限
struct treetype{
    int data;
    int prt,lch,rch;//父结点,左儿子、右儿子编号
}tree[M];

二叉树的遍历

  1. 前序:(1)访问根节点;(2)前序遍历左子树;(3)前序遍历右子树;
    abdehicfg
  2. 中序:(1)中序遍历左子树;(2)访问处理根节点;(3)中序遍历右子树;
    dbheiafcg
  3. 后序:(1)后序遍历左子树;(2)后序遍历右子树;(3)访问处理根节点;
    dhiebfgca

练习

6-1 完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置,则第k号结点的父结点如果存在的话,应当存放在数组的( )号位置。

A.2k
B.2k+1
C. k/2下取整
D. (k+1)/2下取整

6-2如果根的高度为 1,具有 61 个结点的完全二叉树的高度为( )。

A.5
B.6
C.7
D.8

6-3如果树根算第1层,那么一棵n层的二叉树最多有( )个结点。

A. 2n−1
B.2n
C.2n +1
D. 2n+1

6-4一棵结点数为 2015 的二叉树最多有___个叶子结点。

6-5

一棵二叉树如右图所示,若采用顺序存储结构,即用一 维数组元素存储该二叉树中的结点(根结点的下标为 1, 若某结点的下标为 i,则其左孩子位于下标2i处、 右孩子位于下标(2i+1)处) ,则图中所有结点的最大下标为( ) 。

A.6
B.10
C.12
D.15

6-6 已知一棵二叉树有10 个节点,则其中至多有( )个节点有 2 个子节点。

A. 4
B. 5
C. 6
D. 7

6-7

一棵具有5层的满二叉树中结点数为( )。

A. 31
B. 32
C. 33
D. 16

6-8

如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是( )。

A. 10
B. 11
C. 12
D. 13

6-9

约定二叉树的根节点高度为 1。一棵结点数为 2016 的二叉树最少有()个叶子结点;一棵结点数为 2016 的二叉树最小的高度值是( )。(答案以空格分隔)

6-10

独根树的高度为 1,具有 61 个结点的完全二叉树的高度为( )。

A. 5
B. 6
C. 7
D. 8

6-11

如果一棵二叉树只有根结点,那么这棵二叉树高度为1。请问高度为5的完全二叉树有( )种不同形态?

A.16
B.15
C.17
D.32

6-12

如果一棵二叉树的中序遍历是 BAC,那么它的先序遍历不可能是( )。

A. ABC
B. CBA
C. ACB
D. BAC

6-13

一棵二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( )。

A. 2
B. 3
C. 4
D. 5

6-14

二叉树的( )第一个访问的节点是根节点。

A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 以上都是

6-15

前序遍历序列与中序遍历序列相同的二叉树为( )。

A. 根结点无左子树
B. 根结点无右子树
C. 只有根结点的二叉树或非叶子结点只有左子树的二叉树
D. 只有根结点的二叉树或非叶子结点只有右子树的二叉树

6-16

假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为()。

A. ABCDEFGHIJ
B. ABDEGHJCFI
C. ABDEGJHCFI
D. ABDEGHJFIC

posted @   Jue_Chen  阅读(128)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示