更多"设高度为h的二叉树上只有度为0和度为2的节点,则此类二叉树中所包含的节"的相关试题:
[单项选择]
一个具有m个节点的二叉树,其二叉链表节点(左、右孩子指针分别用left和right表示)中的空指针总数必定为 (6) 个。为形成中序(先序、后序)线索二叉树,现对该二叉链表所有节点进行如下操作:若节点p的左孩子指针为空,则将该左指针改为指向p在中序(先序、后序)遍历序列的前驱节点;若p的右孩子指针为空,则将该右指针改为指向p在中序(先序、后序)遍历序列的后继节点。假设指针s指向中序(先序、后序)线索二叉树中的某节点,则 (7) 。
(6)处填()。
A. m+2
B. m+1
C. m
D. m-1
[填空题]设二叉树根节点的层次为0,一棵高度为h的满二叉树的节点个数是 【4】 。
[简答题]编写判定给定的二叉树是否是二叉排序树的函数。
[单项选择]假定在一棵二叉树中,双分支节点数为12个,单分支节点数为29个,则叶子节点数为()
A. 12
B. 13
C. 14
D. 41
[单项选择]假设二叉树根节点的层次为0,一棵深度(高度)为k的满二叉树和同样深度的完全二叉树各有f个节点和c个节点,下列关系式不正确的是
A. f≥c
B. c>f
C. f=2的k-1次幂减1
D. c大于2的k次幂减1
[填空题]设只包含根节点的二叉树的高度为0,则高度为k的二叉树的最小节点数为 【4】 。
[填空题]设只包含根节点的二叉树的高度为0,则高度为A的二叉树的最小节点数为______。
[填空题]设只包含根节点的二叉树的高度为0,则高度为A的二叉树的剔、节点数为 【4】 。
[单项选择]某二叉树中有n个度为2的节点,则该二叉树中的叶子节点数为______。
A. n+1
B. n-1
C. 2n
D. n/2
[单项选择]假定一棵二叉树的节点数为97,则它的最小高度为()
A. 4
B. 5
C. 6
D. 7
[单项选择]已知一棵二叉树节点的先根序列为ABDGCFK,中根序列为DGBAFCK,则节点的后根序列为()
A. ACFKBDG
B. GDBFKCA
C. KCFAGDB
D. ABCDFKG
[单项选择]一棵二叉树共有25个节点,其中5个是叶子节点,则度为1的节点数为______。
A. 4
B. 10
C. 6
D. 16
[填空题]在二叉树节点的先序遍历、中序遍历以及后序遍历中,所有叶子节点的先后顺序都是 【18】 的。
[单项选择]若一棵二叉树中,度为2的节点数为9,则该二叉树的叶结点数为
A. 10
B. 11
C. 12
D. 不确定
[填空题]一棵二叉树第六层(根节点为第一层)的节点数最多为______个。
[简答题][说明]
二叉树的二叉链表存储结构描述如下:
typedef struct BiTNode
datatype data;
struct BiTNode *lchild, * rchild; /*左右孩子指针*/
BiTNode,* BiTree;
对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:
(1) 访问该元素所指结点;
(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。
此过程不断进行,当队列为空时,二叉树的层次遍历结束。
下面的函数实现了这一遍历算法,其中Visit(datatype a)函数实现了对结点数据域的访问,数组queue[MAXNODE]用以实现队列的功能,变量front和rear分别表示当前队首元素和队尾元素在数组中的位置。
[函数]
void LevelOrder(BiTree bt) /*层次遍历二叉树bt*/
BiTree Queue[MAXNODE];
int front,rear;
if(bt= =NULL)return;
front=-1;
rear=0;
queue[rear]= (1) ;
while(front (2) )
(3) ;
Visit(queue[front]->data); /*访问队首结点的数据域*/
if(queue[front]—>lchild!:NULL)
rear++;
queue[rear]= (4) ;
if(queue[front]->rchild! =NULL)
rear++;
queue[rear]= (5) ;
[单项选择]已知完全二叉树有30个节点,则整个二叉树有()个度为1的节点。
A. 0
B. 1
C. 2
D. 不确定