软件22-上午题-树与二叉树1

一、树

树形结构,非线性结构

软件22-上午题-树与二叉树1_第1张图片

树是n个节点的有限集合。

树的定义是递归的。

1-1、树的基本概念

1、结点的度:一个结点的子树个数。

2、树的度:树中最大的结点的度数。

3、叶子结点:度为0的结点。

4、分支结点:度不为0的结点。

5、树的高度(深度):一棵树的最大层数。

1-2、树的性质

性质1:树中的结点总数 = 树中所有结点的度数之和 + 1

出题格式:

已知,度为1的结点个数为n1;度为2的结点个数为n2;度为3的结点个数为n3,求度为0的结点个数。

性质2:度为 m 的树中第i层上至多有 m^(i-1)个结点(i >= 1)。

性质3:高度为h的m次树,至多个结点。(等比数列求和)

性质4:具有n个结点、度为m的树的最小高度为:

要求树的高度最小、需要每个结点的度都是m。即 n = 

注意:

要取上界!!!

1-3、真题

真题1:

软件22-上午题-树与二叉树1_第2张图片

真题2:

软件22-上午题-树与二叉树1_第3张图片

注意:

        这种类型的题目可以直接画个示图,举例子算。

软件22-上午题-树与二叉树1_第4张图片

二、二叉树

2-1、二叉树的定义

二叉树是n个结点的有限集合。

二叉树可以是空树。

二叉树、树的区别:

二叉树中结点的子树要区分左子树和右子树。

二叉树结点最大的度=2。

2-2、二叉树的性质

性质1:二叉树第i层上最多有2^(i-1)个结点;

树的性质:度为 m 的树中第i层上至多有 m^(i-1)个结点(i >= 1)。

性质2:高度为h的二叉树最多有个结点。

树的性质:高度为h的m次树,至多个结点。(等比数列求和)

性质3:对于任何一个二叉树,度为0的结点数 = 度为2的结点数 + 1;

n0 = n2 + 1

树的性质: 树中的结点总数 = 树中所有结点的度数之和 + 1

软件22-上午题-树与二叉树1_第5张图片

性质4:具有n个结点的完全二叉树的高度为:

树的性质: 具有n个结点、度为m的树的最小高度为:

2-3、满二叉树、完全二叉树

2-3-1、满二叉树

高度为k的二叉树有2^k-1个结点。

2-3-2、完全二叉树

对满二叉树中的结点连续编号,自上而下,自左而右,每一个结点与满二叉树中的序号一一对应。

软件22-上午题-树与二叉树1_第6张图片

完全二叉树的特点:

  • 高度为h的完全二叉树中,除了第h层(最后一层),其余各层都是满的;
  • 第h层上的结点必须是从左到右的依次放置,不能为空。

完全二叉树的性质:

 性质4:具有n个结点的完全二叉树的高度为:

软件22-上午题-树与二叉树1_第7张图片

 2-4、真题

真题1:

软件22-上午题-树与二叉树1_第8张图片

真题2:

软件22-上午题-树与二叉树1_第9张图片

n0 = n2 + 1 

真题3:

软件22-上午题-树与二叉树1_第10张图片

真题4:

软件22-上午题-树与二叉树1_第11张图片

真题5:

软件22-上午题-树与二叉树1_第12张图片

真题6:

软件22-上午题-树与二叉树1_第13张图片

计算n个结点的二叉树有多少种,可以用:软件22-上午题-树与二叉树1_第14张图片 

真题7:

软件22-上午题-树与二叉树1_第15张图片

2-5、二叉树的存储结构

2-5-1、二叉树的顺序存储

用一组地址连续的存储单元存储二叉树中的结点,结点在这个序列中的相应位置能反映出节点之间的逻辑关系。

依据二叉树的性质,完全二叉树满二叉树采用顺序存储比较合适,树中结点的序号可以唯一地反映出结点之间的逻辑关系。

软件22-上午题-树与二叉树1_第16张图片

 对于一般的二叉树,只有增添一些并不存在的空结点,使之成为一棵完全二叉树的形式,然后再用一维数组顺序存储。会造成空间的大量浪费,不宜用顺序存储结构。 

最坏的情况是右单支树。

从一个结点的编号——>双亲、左孩子、右孩子

软件22-上午题-树与二叉树1_第17张图片

 

2-5-2、二叉树的链式存储

软件22-上午题-树与二叉树1_第18张图片

二叉链表的结点:

 

二叉链表,有n个结点,就有2n个指针域;有n-1个分支,就有n-1个有效指针域;

所以,二叉链表,n个结点,有n+1个空指针域

三叉链表的结点:

三叉链表,n个结点,有n+2个空指针域

2-5-3、真题

真题1:

软件22-上午题-树与二叉树1_第19张图片

 

真题2:

软件22-上午题-树与二叉树1_第20张图片

真题3:

软件22-上午题-树与二叉树1_第21张图片

真题4:

软件22-上午题-树与二叉树1_第22张图片

2-6、二叉树的遍历

软件22-上午题-树与二叉树1_第23张图片

1、先序遍历

根节点、左子树、右子树

A  B  D  G  C  E  F

2、中序遍历

左子树、根节点、右子树

B  D  G  A  E  C  F

3、后序遍历

左子树、右子树、根节点

G  D  B  E  F  C  A

4、层次遍历

从上到下、从左到右的访问结点。

A  B  C  D  E  F  G

 

2-7、根据遍历序列构造二叉树

4种遍历,单独看,都不能唯一确定一个二叉树。

其中最重要的是:中序遍历:左子树、根节点、右子树

1、先序遍历 + 中序遍历

软件22-上午题-树与二叉树1_第24张图片

从先序中得到每个子树的根节点(第一个节点),在中序中用根节点,划分出左右子树。

软件22-上午题-树与二叉树1_第25张图片

2、后序遍历 + 中序遍历

软件22-上午题-树与二叉树1_第26张图片

从后序中得到每个子树的根节点(最后一个节点),在中序中用根节点,划分出左右子树。

3、层次遍历 + 中序遍历

软件22-上午题-树与二叉树1_第27张图片

 

4、真题

真题1:

软件22-上午题-树与二叉树1_第28张图片

构造一个二叉树,中序序列一定要有!!!

真题2:

软件22-上午题-树与二叉树1_第29张图片

真题3:

软件22-上午题-树与二叉树1_第30张图片

真题4:

软件22-上午题-树与二叉树1_第31张图片

软件22-上午题-树与二叉树1_第32张图片 

真题5:

软件22-上午题-树与二叉树1_第33张图片

软件22-上午题-树与二叉树1_第34张图片

真题6:

软件22-上午题-树与二叉树1_第35张图片

软件22-上午题-树与二叉树1_第36张图片

你可能感兴趣的:(软考中级,学习,笔记)