树和二叉树
- 一.树
-
- 1.基本术语和属性
- 2.性质
-
- 性质一:树的结点=所有结点的度+1;
- [性质二:M叉树中第i层上最多有m^ (i-1)个结点](#性质二:M叉树中第i层上最多有m^ (i-1)个结点)
- 性质三:高度为h的M叉树至多有m^h-1/m-1个结点
- 二.二叉树
一.树
1.基本术语和属性
(一).度
度:指的是一个节点的孩子被称为度,其中节点最大的度被称为树的度。如图:其中A有3个孩子,并且在这棵树中只有A的度最大,那么3就是这个树的度。
(二).叶子节点
叶子节点:指没有孩子的节点(度为0的节点)被称为叶子节点。如图:K,L,G,M,I都是度为0的节点,那么这几个节点被称为叶子节点。
(三).分支节点
分支节点:除了叶子节点的那几个,其余的都是分支节点。(度不为0的节点)
(四).树的高度
树的高度:根节点到叶子节点最多的节点被称为树的高度,如:A->M,A->L,A->K,的节点个数都是四,所以树的高度是四。
(五).有序树/无序树
有序树/无序树:从左到右有次序的就叫有序树,否则是无序树。
(六).路径
路径:两个节点经过的节点被称为路径。如:A->L就是路径,长度为4。

2.性质
性质一:树的结点=所有结点的度+1;
拿上图举例:这是一棵度为3的树,那么它是由N0+N1+N2+N3组成,N0表示度为0的节点,N1表示度为1的节点等等,N3表示度为3的节点相加组成了这一棵树。其中N0有6个,N1有2个,N2有3个,N3有1个
所以2 * 1+2 * 3+3 * 1+1=12;
性质二:M叉树中第i层上最多有m^ (i-1)个结点
列如:一棵3叉树在每个度都为3的前提下,那么第3层最多有3^(3-1)=9个结点。
性质三:高度为h的M叉树至多有m^h-1/m-1个结点
列如:一棵3叉树在每个度都为3的前提下,此时这个高度为3的树的所有结点最多 为3^3-1/3-1=13个结点。

如图:这是一个度为4的树,那么就由N0+N1+N2+N3+N4组成,
题目要求我们求叶结点的个数,那就是度为0的个数,我们可以先把总的个数给求出来,用上述公式:总=( 204+10 3+12+101 ) +1=123个,又因为说有20个度为4的结点,就减去20,10个度为3的结点,减去10,...最后剩下的就是叶子结点的个数 123-20-10-1-10=82,所以选B.
二.二叉树
1.二叉树的定义
什么是二叉树,就是树的度为2,并且树分根,左子树和右子树且它门次序不能颠倒。
2.特殊的二叉树
1.满二叉树
满二叉树就是一个从根到叶子结点之间,每个结点的度都是2,拿上述的性质三来验证,m^h-1/m-1= 2^3-1/2-1=7,达到最大的结点就是满二叉树。
2.完全二叉树
1.这个树的最后一层可以不用达到最大的个数,但必须遵守从左到右的连续顺序
2.满二叉树一定是完全二叉树,完全二叉树不一定是满二叉树。
3.完全二叉树的结点个数在【2^(h-1), 2^h-1】,为什么高度会是这样呢前者是为求前h-1的个数,后者是把第h层的最大个数给求出。那么完全二叉树一定在这两个区间之间

4.完全二叉树的叶子出现在最后两层,且度为1的最大只有一个,剩下的都是度为0或者度为2,由上图可得。
性质
1.性质一:二叉树第i层的个数为2^(i-1)
2.性质二:高度为h的二叉树最多有2^h-1个
3.性质三:对于任何一个二叉树如果度0有N0个,度2有N2个则N0=N2+1
M=N0+N1+N2=N1+2N2+1 可以推出:N0=N2+1;
例题一

由于是一棵完全二叉树,第六层的个数为2^(6-1),其中有8个是叶子结点,那么其余的24个不是叶子结点,就表示都有度,那么求的是最多,就把另外的24个都想成度为2的时候,那么此时结点个数最多

2^6-1求出前6层的个数,再加上48即可为111个 答案:C。
例题二

总个数=N0+N1+N2=768,由性质三可得2N0+N1-1=768,又因为完全二叉树中,N1的个数最多为1个,那么N1可能为0或者1,当为0的时候,N0无法得到整数,所以只能为N1,最后N0为384个 答案:C.