树和二叉树(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.

相关推荐
UIU1143 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
niyongsheng5 小时前
3D 装箱算法工程化:数据结构、放置启发式与支撑规则
数据结构·算法·rust
叉烧滑蛋7 小时前
B站台湾大学郭彦甫|MATLAB 学习笔记|04 变量与档案存取
数据结构
j7~8 小时前
【穷举、深搜与回溯算法】一棵决策树讲透全排列与子集
数据结构·c++·算法·leetcode·回溯·递归
not coder11 小时前
一文讲通--从树到红黑树
数据结构·算法
爱吃香菜的初学者11 小时前
八.数据结构——哈希表(1)
数据结构·散列表
二十七日秋13 小时前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
小白起 v15 小时前
02-数组与链表
数据结构·链表
路灯上の马陈1 天前
二叉树的定义与性质
数据结构·二叉树·树结构·1024程序员节
Bshaya_1 天前
红黑树详解:概念、规则与插入实现
数据结构·红黑树·二叉搜索树·平衡树·插入逻辑