满二叉树的特点是每层上的结点数都达到最大值,因此对于高度为h(h>1)的满二叉树,其结点总数为(1)。对非空满二叉树,由根结点开始,按照先根后子树、先左子树后右子树的次序,从1、2、3、…依次编号,则对于树中编号为i的非叶子结点,其右子树的编号为(2)(高度为3的满二叉树如图8-17所示)。
A.2h
B.2h-1
C.2h-1
D.2h-1+1
第1题:
阅读以下说明和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;
}
第2题:
一个高度为h的满二叉树的结点总数为2h-1,其每一层结点个数都达到最大值。从根结点开始顺序编号,每一层都从左到右依次编号,直到最后的叶子结点层为止。即根结点编号为1,其左、右孩子结点编号分别为2和3,再下一层从左到右的编号为4、5、6、7,依此类推,那么,在一棵满二叉树中,对于编号为m和n的两个结点,若m=2n,则结点(40)。
A.m是n的左孩子
B.m是n的右孩子
C.n是m的左孩子
D.n是m的右孩子
第3题:
满二叉树的特点是每层上的结点数都达到最大值,因此对于高度为h(h>1)的满二叉树,其结点总数为(36)。对非空满二叉树,由根结点开始,按照先根后子树、先左子树后右子树的次序,从1、2、3、…依次编号,则对于树中编号为i的非叶子结点,其右子树的编号为(37)(高度为3的满二叉树如下图所示)。
A.2h
B.2h-1
C.2h-1
D.2h-1+1
第4题:
后序遍历序列与中序遍历序列相同的二叉树为(85),前序遍历序列与后序遍历序列相同的二叉树为(86)。
A.根结点无左子树的二叉树
B.根结点无右子树的二叉树
C.只有根结点的二叉树或非叶子结点只有左子树的二叉树
D.只有根结点的二叉树或非叶子结点只有右子树的二叉树
第5题:
第6题:
第7题:
第8题:
前序遍历序列与后序遍历序列相同的二叉树为()
第9题:
一棵深度为h的满二叉树具有如下性质:第h层上的结点都是叶结点,其余各层上每个结点都有m棵非空子树。若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,试计算:编号为i的结点的双亲结点的编号
第10题:
第11题:
根结点无右子树的二叉树
根结点无左子树的二叉树
根结点可能有左子树和右子树
各结点只有一个孩子的二叉树
第12题:
非叶子结点只有左子树的二叉树
只有根结点的二叉树
根结点无右子树的二叉树
非叶子结点只有右子树的二叉树
第13题:
前序遍历序列与中序遍历序列相同的二叉树为(1),前序遍历序列与后序遍历序列相同的二叉树为(2)。
A.根结点无左子树的二叉树
B.根结点无右子树的二叉树
C.只有根结点的二叉树或非叶子结点只有左子树的二叉树
D.只有根结点的二叉树或非叶子结点只有右子树的二叉树
第14题:
● 满二叉树的特点是每层上的结点数都达到最大值,因此对于高度为 h(h>1)的满二叉树,其结点总数为 (36) 。对非空满二叉树,由根结点开始,按照先根后子树、先左子树后右子树的次序,从 1、2、3、…依次编号,则对于树中编号为 i 的非叶子结点,其右子树的编号为 (37) (高度为 3 的满二叉树如下图所示) 。
第15题:
对二叉树中的结点如下编号:树根结点编号为1,根的左孩子结点编号为2、右孩子结点编号为3,依此类推,对于编号为i的结点,其左孩子编号为2i、右孩子编号为2i+1。例如,下图所示二叉树中有6个结点,结点a、b、c、d、e、f的编号分别为1、2、3、5、7、11。那么,当结点数为n(n>0)的( )时,其最后一个结点编号为2i-1
A.二叉树为满二叉树(即每层的结点数达到最大值)B.二叉树中每个内部结点都有两个孩子C.二叉树中每个内部结点都只有左孩子D.二叉树中每个内部结点都只有右孩子
第16题:
●一个高度为h的满二叉树的结点总数为2h-1,其每一层结点个数都达到最大值。从根结点开始顺序编号,即根结点编号为1,其左、右孩子结点编号分别为2和3,再下一层从左到右的编号为4、5、6、7,依此类推,每一层都从左到右依次编号,直到最后的叶子结点层为止。那么,在一棵满二叉树中,对于编号为m和n的两个结点,若m=2n+1,则(38)。
(38)
A.m是n的左孩子
B.m是n的右孩子
C.n是m的左孩子
D.n是m的右孩子
第17题:
第18题:
第19题:
设森林中有4棵树,树中结点的个数依次为n1、n2、n3、n4,则把森林转换成二叉树后,其根结点的右子树上有()个结点,根结点的左子树上有()个结点。
第20题:
一棵深度为h的满二叉树具有如下性质:第h层上的结点都是叶结点,其余各层上每个结点都有m棵非空子树。若按层次从上到下,每层从左到右的顺序从1开始对全部结点编号,试计算:整棵树结点数
第21题:
第22题:
第23题: