树-学习笔记
定义:一个树是由n个元素组成的有限集合。其中,每个元素叫结点(node)
性质:
- 有一个特殊的结点叫根节点(root node)
- 从图论的角度,一个树有n-1条边,所以它是无环的。同时,它是连通的,因为可以直接或间接地从一个结点走到另一个结点
- 除了根结点以外,其余的结点可以分成m(m>=0)个互不相交的有限集合 T0,T1,T2...... 其中,每一个集合都叫做这个树的子树
下面举个栗子捏

不难发现,可以分为3个子树(一定要记住,根结点除外!!!)
第一个子树:结点 2,5,6
第二个子树:结点3
第三个子树:结点4,7,8,9
基本概念
- (1)树是递归定义的
- (2)一个结点的子树个数称为这个结点的度。还是那张图,结点1的度数就是3,结点3的度数就是0
- (3)度数为0的结点叫叶结点,度数不为0的结点叫分支结点,根以外的分支结点又叫内部结点
- (4)一个树,各个结点的度的最大值就是这个树的度。刚刚那张图中,树的度就是3,因为根结点的度最大,为3
- (5)在一个树中,上端结点叫做下端结点的父结点,下端结点叫上端结点的子结点。
- (6)同一个父结点的多个子结点叫做兄弟结点
- (7)从根结点到某个子结点所经过的结点称为这个子结点的祖先
- (8)对于树中任意两个结点,如果从一个结点出发,沿着整个树自上而下能够达到另一个结点,称它们之间存在一条路径。路径长度=路径中包含的结点数-1
- (9)从根结点出发,到树中其余结点,一定存在一条路径
- (10)一个树中,不同子树之间不存在路径
- (11)一个森林(forest): m棵(m>=0)互不相交的树的集合
- (12)层次:定义根结点的层次为1,其余结点的层次等于它的父结点的层次+1。比如,上面的图中,结点8的层次为4
- (12)深度:一棵树中,所有结点的层次的最大值称为这个树的深度(depth)。比如,上图中,树的深度为3
二叉树基本概念和性质

OI中常考的就是二叉树,因为它很特殊
特殊原因:二叉树是一个度为2的数 二叉树的每个结点最多有两个子结点
每个结点的子结点叫做左子树和右子树
性质
- 二叉树的第i层最多有个结点
2.深度为k的二叉树至多有个结点 - 一棵深度为k且有个结点的二叉树称为满二叉树
![image]()
4.完全二叉树 深度为k, 有n个结点的二叉树,当且仅当每一个结点都与深度为k的慢二叉树中编号从1~n的结点一一对应。完全二叉树的叶子结点仅出现在最下层和次下层,且最下层叶子集中在左部
![image]()
5.对于任意一个二叉树 如果其叶结点数为n0, 度为2的结点数为n2,则一定满足 n0=n2+1;
证明:
假设二叉树有n个结点,n0个叶结点,n2个度为2的结点,则有(n-n0-n2)个度为1的结点。因为一个二叉树有n-1条边,所以
n-1=n00+n22+(n-n0-n2)1
n-1=n22+n-n0-n2
n0=n2+1
6.对于一个有n个结点的完全二叉树,深度为[log2n]+1



浙公网安备 33010602011771号