计算机考研:数据结构常用算法分析(六)?
节点的OD:一个节点拥有的非空树的数量。
节点的深度(ID):指向该节点的分支(或有向弧和指针)的数量。
树的度数(TD):树中节点的最大度数。
节点的度数:节点的度数。
比如下面的结论中,正确的是(d)南京理工大学1999 I和IV (1)。
①只有一个节点的二叉树的度为0;②二叉树的度为2;③一棵二叉树的左右子树可以任意互换;④深度为k的完全二叉树的节点数小于或等于相同深度的完全二叉树的节点数。
A.①②③ B.②③④ C.②④ D.①④
下列关于二叉树的说法正确的是:(b)南京理工大学2000 I,11 (1.5分)。
二叉树的度可以小于2。
C.二叉树中至少有一个节点的度是2 d。二叉树中的任何节点的度都是2。
有序树和无序树:如果树中任意节点的子树从左到右排序,则树是有序的(强调子树的顺序),否则是无序的。(它只强调子树之间的相对顺序,不像二叉树,只有一个子树要么是左子树,要么是右子树。在有序树中,只有一个子树的有序树不是唯一的。)
例如:在下列情况下,可以称为二叉树的是(b)
A.每个节点最多有两个子树的树b .霍夫曼树c .每个节点最多有两个子树的有序树d .每个节点只有一个右子树e .以上答案都不正确。
C的错误在于,有序树不一定是二叉树,顺序只是子树的相对顺序,没有严格定义哪个子树是第一个子树。
Forest(或forest):m(m≥0)个不相交有序树的有序集。
深度= h(h≥1)k(k >;1)子树最多有(-1)/(K-1)个节点。
K (k >: 1)分叉树的最小深度为:
证明:一棵有n个节点的K-树的深度为H,如果树的所有h-1层都是满的,即每一层都有最大的节点数-1(1≤i≤h-1),其余节点落在H层,则树的深度达到最小值,如图6.66所示。
或者:(Kh-1 -1)
即:Kh-1
对数:(h-1)
因为h是正整数,所以:h=
n(n ≥1)节点完全二叉树的深度
具有n个叶节点的不完全完全二叉树的高度是élog2nω+1。(最低层的节点数>;=2)。
设一棵完全二叉树中BT节点的个数为n,节点按层编号。对于BT中的第I个节点(1≤i≤n),注意节点号从1开始,存储数组时也是从数组1开始。如果题目已经确定从0开始,那么在计算孩子的父亲节点时,需要再次转换。
有:
(1)如果i=1,则节点I(编号为I的节点)是BT的根,没有父节点;否则(我& gt1),parent(i)=,即节点I的父节点个数为;
(2)如果2i & gtn,则节点I没有左子,否则Lchild(i)=2i,即节点I的左子位于节点2i;
(3)如果2i+1 >;n,则节点I没有右子,否则Rchild(i)=2i+1,即节点I的右子位于节点2i+1。
证明:先用数学归纳法证明(2)和(3)。
设一个完整的n节点二叉树如图所示。
当i=1时,很明显I节点的左子数是2,I的右子数是2+1=3,除非2 >;n,3 & gtn .
设对I节点成立,命题(2)、(3)成立,即Lchild(i)=2i,Rchild(i)=2i+1。根据分层编号规则,i+1有:
lhild(I+1)=(2i+1)+1 = 2 (I+1),除非2(I+1)>否则;n,
archid(I+1)=(2i+1)+1 = 2 (I+1)+1,除非2(I+1)+65438。n,
因此证明了(2)和(3)。
再次证明(1),可以看作是(2)和(3)的推广。
因为Lchild(j)=2j,Parent(2j)=j,设2j=i,有Parent(i)=i/2= (i/2为正整数);
还有:Rchild(j)=2j+1,所以Parent(2j+1)=j,所以2j+1=i (i=3,5,7…),有:
Parent(i)=(i-1)/2=,证书已完成。
n
2i
2i+1
1
2
三
2i+1+1
2i+1+2
我
i+1
例:一棵完整的二叉树有1001个节点,其中叶节点数为()Xi交大1996三两(3分)。
A.250b.500c.254d.505e .以上答案都不对. 501
例1:二叉树节点的公式:n = n0+n 1+N2 = n0+n 1+(n0-1)= 2n 0+n 1-1,因为n = 65438。
例2:一棵高度为k的完全二叉树,至少有_ _ _个叶节点。(恰好当第k个只有一片叶子时,高度为k,N= -1+1=例3:在一棵按顺序存储的二叉树中,编号为I和J的两个节点处于同一层次的条件如下:)
按顺序存储二叉树时,应以完全二叉树的形式存储,存储不完全二叉树时,要增加一个“虚拟节点”。设顺序存储中编号为I和J的节点下标为S和T,那么节点I和J在同一层的条件是什么?log2s?=?log2t?。
如果你对考研有疑问,不知道考研中心的内容怎么总结,不了解考研报名的地方政策,点击最下方咨询官网,免费获取复习资料:/xl/