二叉排序树

2022-09-16 04:29

1个回答
二叉树具有以下重要性质:
性质1 二叉树第i层上的结点数目最多为2i-1(i≥1)。
证明:用数学归纳法证明:
归纳基础:i=1时,有2i-1=20=1。因为第1层上只有一个根结点,所以命题成立。
归纳假设:假设对所有的j(1≤j归纳步骤:根据归纳假设,第i-1层上至多有2i-2个结点。由于二叉树的每个结点至多有两个孩子,故第i层上的结点数至多是第i-1层上的最大结点数的2倍。即j=i时,该层上至多有2×2i-2=2i-1个结点,故命题成立。

性质2 深度为k的二叉树至多有2k-1个结点(k≥1)。
证明:在具有相同深度的二叉树中,仅当每一层都含有最大结点数时,其树中结点数最多。因此利用性质1可得,深度为k的二叉树的结点数至多为:
20+21+…+2k-1=2k-1
故命题正确。

性质3 在任意-棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则no=n2+1。
证明:因为二叉树中所有结点的度数均不大于2,所以结点总数(记为n)应等于0度结点数、1度结点(记为n1)和2度结点数之和:
n=no+n1+n2 (式子1)
另一方面,1度结点有一个孩子,2度结点有两个孩子,故二叉树中孩子结点总数是:
nl+2n2
树中只有根结点不是任何结点的孩子,故二叉树中的结点总数又可表示为:
n=n1+2n2+1 (式子2)
由式子1和式子2得到:
no=n2+1

满二叉树和完全二叉树是二叉树的两种特殊情形。
1、满二叉树(FullBinaryTree)
一棵深度为k且有2k-1个结点的二又树称为满二叉树。
满二叉树的特点:
(1) 每一层上的结点数都达到最大值。即对给定的高度,它是具有最多结点数的二叉树。
(2) 满二叉树中不存在度数为1的结点,每个分支结点均有两棵高度相同的子树,且树叶都在最下一层上。
【例】图(a)是一个深度为4的满二叉树。

2、完全二叉树(Complete BinaryTree)
若一棵二叉树至多只有最下面的两层上结点的度数可以小于2,并且最下一层上的结点都集中在该层最左边的若干位置上,则此二叉树称为完全二叉树。
特点:
(1) 满二叉树是完全二叉树,完全二叉树不一定是满二叉树。
(2) 在满二叉树的最下一层上,从最右边开始连续删去若干结点后得到的二叉树仍然是一棵完全二叉树。
(3) 在完全二叉树中,若某个结点没有左孩子,则它一定没有右孩子,即该结点必是叶结点。
【例】如图(c)中,结点F没有左孩子而有右孩子L,故它不是一棵完全二叉树。
【例】图(b)是一棵完全二叉树。

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

证明:设所求完全二叉树的深度为k。由完全二叉树定义可得:
深度为k得完全二叉树的前k-1层是深度为k-1的满二叉树,一共有2k-1-1个结点。
由于完全二叉树深度为k,故第k层上还有若干个结点,因此该完全二叉树的结点个数:
n>2k-1-1。
另一方面,由性质2可得:
n≤2k-1,
即:2k-1-l由此可推出:2k-1≤n<2k,取对数后有:
k-1≤lgn又因k-1和k是相邻的两个整数,故有
,
由此即得:

注意:
的证明【参见参考书目】
相关问答
什么是二叉排序树
2个回答2022-07-19 10:09
二叉排序树(Binary Sort Tree),首先它是一棵树,“二叉”这个描述已经很明显了,就是树上的一根树枝开两个叉,于是递归下来就是二叉树了(下图所示),而这棵树上的节点是已经排好序的,具体的...
全文
什么是二叉排序树?
1个回答2022-10-25 05:35
二叉排序树要么是空二叉树,要么具有如下特点: 二叉排序树中,如果其根结点有左子树,那么左子树上所有结点的值都小于根结点的值;二叉排序树中,如果其根结点有右子树,那么右子树上所有结点的值都大小根结点的...
全文
什么叫二叉排序树
2个回答2022-10-26 14:35
1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树; (4)没有键值相等的结点。
二叉树和二叉排序树有啥区别
3个回答2022-10-22 02:35
二叉树和二叉排序树区别为:子树结点不同、键值相等不同、子树树型不同。 一、子树结点不同 1、二叉树:二叉树的左/右子树上所有结点的值可以大于、等于和小于它的根结点的值。 2、二叉排序树:二叉排...
全文
排序二叉树问题!
1个回答2022-12-17 11:35
1.排序二叉树的特点是左子树所有的节点值均小于根节点值,右子树的节点值均大于根节点值,从而进行中序遍历的结果就是一个有序序列 2.有很多方式建立该顺序序列的排序二叉树,例如: 4 ...
全文
二叉排序树的定义
1个回答2022-12-18 03:14
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、...
全文
二叉排序树定义
1个回答2023-04-25 06:15
一、定义 二叉排序树,又叫二叉查找树,它或者是一棵空树;或者是具有以下性质的二叉树: 1. 若它的左子树不空,则左子树上所有节点的值均小于它的根节点的值; 2. 若它的右子树不空,则右子树上所有节点...
全文
什么是完全二叉树,平衡二叉树,二叉排序树
1个回答2022-10-27 07:51
首先平衡二叉树是特殊的二叉排序树,他的结点元素间存在着偏序关系。 其次相对于一般的二叉排序树,平衡二叉树的左右子树的深度差也有不超过1层的约束。 这样使得平衡树是同种元素序列情况下的深度最小的二叉排序...
全文
二叉排序树和线索二叉树有什么区别?分别什么意思?
1个回答2022-10-21 19:43
二叉排序树本质上是一棵普通的二叉树,只是有左孩子的值>父母结点的值>右孩子的值这个特性。至于线索二叉树就是每个结点加了两个左右标志,这样就可以像对线性表遍历那样直接对二叉树进行遍历而不用使用递归或栈或...
全文
二叉排序树的构造是唯一的吗
1个回答2022-11-11 07:08
如果约定了构造规则,给定某一个构造的关键字序列,则按次序构造出来肯定是唯一的 如果只是给定初始关键字,并没有约定构造的序列(次序),则不唯一
热门问答