度数为0的结点,即没有子树的结点叫作()结点或()结点。同一个结点的儿子结点之间互称为()结点。
第1题:
:A3
B4
C5
D1
第2题:
A.左子树的叶子结点
B.左子树的分支结点
C.右子树的叶子结点
D.右子树的分支结点
第3题:
在平衡二叉树中,(55)。
A.任意结点的左、右子树结点数目相同
B.任意结点的左、右子树高度相同
C.任意结点的左、右子树高度之差的绝对值不大于1
D.不存在度为1的结点
第4题:
有一个深度为4的满二叉树,下面关于序号为7的结点的叙述中正确的是( )。
A.该结点双亲的序号为4
B.该结点处于二叉树的第4层
C.该结点没有右子树
D.该结点左子树根结点的序号为14
第5题:
若一棵二叉树中只有叶结点和左、右子树皆非空的结点,设叶结点的个数为n,则左、右子树皆非空的结点个数是 ______。
第6题:
对一棵二叉树的中序遍历序列中,根结点右边的结点属于( )。
A.左子树上的叶子结点
B.右子树上的所有结点
C.左子树上的所有结点
D.右子树上的叶子结点
第7题:
若完全二叉树共有n个结点,且从根结点开始,按层序(每层从左到右)用正整数 0,1,2,…,n-1从小到大对结点编号,则对于编号为k的结点,错误的是______。
A.若k>0,则该结点的父结点编号为[k/2] ([]表示取整)
B.若2k>n-1,则编号为k的结点无右子树,但可能有左子树
C.若2k+1<=n-1,则编号为k的结点的右子结点编号为2k+1
D.若k=0,则该结点肯定没有父结点
第8题:
若一颗二叉树中只有叶结点和左右子树皆非空的结点,设叶结点的个数为n,则左右子树皆非空的结点个数为__________。
第9题:
阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
一棵非空二叉树中“最左下”结点定义为:若树根的左子树为空,则树根为“最左下”结点;否则,从树根的左子树根出发,沿结点的左
子树分支向下查找,直到某个结点不存在左子树时为止,该结点即为此二叉树的“最左下”结点。例如,下图所示的以 A为根的二叉树的“最
左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。
二叉树的结点类型定义如下:
typedef stmct BSTNode{
int data;
struct BSTNode*lch,*rch;//结点的左、右子树指针
}*BSTree;
函数BSTree Find Del(BSTree root)的功能是:若root指向一棵二叉树的根结点,则找出该结点的右子树上的“最左下”结点*p,并从
树于删除以*p为根的子树,函数返回被删除子树的根结点指针;若该树根的右子树上不存在“最左下”结点,则返回空指针。
【函数】
BSTrce Find_Del(BSTreeroot)
{ BSTreep,pre;
if ( !root ) return NULL; /*root指向的二叉树为空树*/
(1); /*令p指向根结点的右子树*/
if ( !p ) return NULL;
(2); /*设置pre的初值*/
while(p->lch){ /*查找“最左下”结点*/
pre=p;p=(3);
}
if ((4)==root) /*root的右子树根为“最左下”结点*/
pre->rch=NULL;
else
(5)=NULL; /*删除以“最左下”结点为根的子树*/
reurn p;
}
第10题:
在一非空二叉树的中序遍历序列中,根结点的右边(40)。
A.只有右子树上的所有结点
B.只有右子树上的部分结点
C.只有左子树上的部分结点
D.只有左子树上的所有结点最左子树