5.3 二叉树的基本概念和常考性质

本文介绍了二叉树的基本概念,包括非空二叉树的节点关系,以及二叉树的常见考点,如层节点数量、高度与节点数的关系。特别讨论了完全二叉树的性质,如节点数与高度的关系,以及如何根据节点数判断度为0、1、2的节点个数。同时提供了判断完全二叉树中节点是否有左右孩子的条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、基本概念

二叉树是n(n>=0)个结点的有限集合:
	1.或者为空二叉树,即n=0
	2.或者由一个根节点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树有分别是一颗二叉树
	3.特点:
		①每个结点最多有两棵子树
		②左右子树不能颠倒(二叉树是有序树)注意区分:度为2的有序树

二、几种特殊的二叉树

一、满二叉树
	一棵高度为h,且含有2的h次方-1个结点的二叉树
	也就是每个二叉树的结点,都有两个孩子节点
	特点:
		1.只有最后一层有叶子节点
		2.不存在度为1得结点
		3.按层序从1开始从左向右编号,节点为i的左孩子为2i,右孩为2i+1;结点i的父节点为[i/2](如果有的话)
二、完全二叉树(在满二叉树的基础上可去掉若干个)
	当且仅当其每个结点斗鱼高度为h的满二叉树中编号为1~n的结点一一对应时,称为完全二叉树
	特点:
		1.只有最后两层可能有叶子节点
		2.最多只有一个度为1的结点
		3.同上的3
		4.i<=[n/2]为分支节点,i>[n/2]为叶子节点
		【注】如果在完全二叉树中,某个节点只有一个孩子,那么一定是左孩子
三、二叉排序树(可用于元素的排序、搜索)
	一颗二叉树或者是空二叉树,或者是具有如下性质的二叉树:
		1.左子树上所有结点的关键字均小于根节点的关键字
		2.右子树上所有结点的关键字均大于根节点的关键字
		3.左子树和右子树又各是一颗二叉排序树
四、平衡二叉树(能有更高的搜索效率)
	树上任一结点的左子树和右子树的深度之差不超过1
	【PS:】树的高度(深度):--总共多少层

三、常考性质

常见考点一:设非空二叉树中度为0、1、2的节点个数分别为n0、n1、n2,则:(叶子节点比二分支节点多一个)

​ 假设树中总结点数为n,则:
① n = n 0 + n 1 + n 2 ① n=n_0+n_1+n_2 n=n0+n1+n2

② n = 1 ∗ n 1 + 2 ∗ n 2 + 1 ②n=1*n_1+2*n_2+1 n=1n1+2n2+1

② − ① : n 0 = n 2 + 1 ②-①:n_0=n_2+1 n0=n2+1

​ ②树的结点数=总度数+1

常见考点二:
① 二 叉 树 第 i 层 至 多 有 2 i − 1 个 结 点 ( i ≥ 1 ) ①二叉树第i层至多有2^{i-1}个结点(i\geq1) i2i1i1

② m 叉 树 第 i 层 至 多 有 m i − 1 个 结 点 ( i ≥ 1 ) ②m叉树第i层至多有m^{i-1}个结点(i\geq1) mimi1i1

常见考点三:
① 高 度 为 h 的 二 叉 树 至 多 有 2 h − 1 个 结 点 ( 满 二 叉 树 ) ①高度为h的二叉树至多有2^h-1个结点(满二叉树) h2h1

② 高 度 为 h 的 m 叉 树 至 多 有 m h − 1 m − 1 个 结 点 ②高度为h的m叉树至多有\frac{m^h-1}{m-1}个结点 hmm1mh1

等 比 数 列 求 和 公 式 : S n = a 1 ( 1 − q n ) 1 − q 等比数列求和公式:S_n=\frac{a_1(1-q^n)}{1-q} Sn=1qa1(1qn)

四、完全二叉树常考性质

常见考点一:
具 有 n 个 ( n > 0 ) 结 点 的 完 全 二 叉 树 的 高 度 h 为 : [ l o g 2 ( n + 1 ) ] 向 上 取 整 ; 或 向 下 取 整 [ l o g 2 n ] + 1 具有n个(n>0)结点的完全二叉树的高度h为:[log_2(n+1)]向上取整;或向下取整[log_2n]+1 nn>0h[log2(n+1)][log2n]+1

推 理 过 程 : 高 度 为 h 的 满 二 叉 树 共 有 2 h − 1 个 结 点 ; 高 度 为 h − 1 的 满 二 叉 树 共 有 2 h − 1 − 1 个 结 点 , 推理过程:高度为h的满二叉树共有2^h-1个结点;高度为h-1的满二叉树共有2^{h-1}-1个结点, h2h1h12h11

所 以 : 结 点 数 n : 2 h − 1 − 1 < n ≤ 2 h − 1 = = > 2 h − 1 < n + 1 ≤ 2 h = = > h − 1 < l o g 2 ( n + 1 ) ≤ h 所以:结点数n:2^{h-1}-1<n\leq2^h-1==>2^{h-1}<n+1\leq2^h==>h-1<log_2(n+1)\leq{h} n2h11<n2h1==>2h1<n+12h==>h1<log2(n+1)h

整 理 可 得 h = [ l o g 2 ( n + 1 ) ] , 向 上 取 整 整理可得h=[log_2(n+1)],向上取整 h=[log2(n+1)],

【注】
第 i 个 结 点 所 在 的 层 次 为 : [ l o g 2 ( n + 1 ) ] 向 上 取 整 ; 或 向 下 取 整 [ l o g 2 n ] + 1 第i个结点所在的层次为:[log_2(n+1)]向上取整;或向下取整[log_2n]+1 i[log2(n+1)][log2n]+1

常见考点二:

​ 【叶子结点永远比双分支结点多一个】
对 于 完 全 二 叉 树 , 可 以 由 结 点 数 n 推 出 度 为 0 、 1 、 2 的 结 点 的 个 数 为 n 0 、 n 1 、 n 2 , 完 全 二 叉 树 最 多 只 有 一 个 度 为 1 的 结 点 对于完全二叉树,可以由结点数n推出度为0、1、2的 结点的个数为n_0、n_1、n_2,完全二叉树最多只有一个度为1的结点 n012n0n1n21

即 : n 1 = 0 或 1 ; n 0 = n 2 + 1 − − − − − > n 0 + n 2 一 定 是 奇 数 , 因 为 : n 0 + n 2 = 2 ∗ n 2 + 1 即:n_1=0或1;n_0=n_2+1----->n_0+n_2一定是奇数,因为:n_0+n_2=2*n_2+1 n1=01;n0=n2+1>n0+n2n0+n2=2n2+1

若 完 全 二 叉 树 有 2 k 个 ( 偶 数 ) 结 点 , 则 必 有 : n 1 = 1 ; n 0 = k ; n 2 = k − 1 若完全二叉树有2k个(偶数)结点,则必有:n_1=1;n_0=k;n_2=k-1 2kn1=1;n0=k;n2=k1

若 完 全 二 叉 树 有 2 k − 1 个 ( 奇 数 ) 结 点 , 则 必 有 : n 1 = 0 ; n 0 = k ; n 2 = k − 1 若完全二叉树有2k-1个(奇数)结点,则必有:n_1=0;n_0=k;n_2=k-1 2k1n1=0;n0=k;n2=k1

常考点三:

​ 若完全二叉树有n个结点,则:

​ 1.判断i是否有左孩子?
2 i ≤ n 2i\leq{n} 2in
​ 2.判断i是否有右孩子?
2 i + 1 ≤ n 2i+1\leq{n} 2i+1n
​ 3.判断i是否是叶子/分支节点?
i > 向 下 取 整 [ n 2 ] ? i>向下取整[\frac{n}{2}]? i>[2n]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值