更多"下列二叉树描述中,正确的是( )。"的相关试题:
[单项选择]下列二叉树描述中,正确的是()。
A. 任何一棵二叉树必须有一个度为2的结点
B. 二叉树的度可以小于2
C. 非空二叉树有0个或1个根结点
D. 至少有2个根结点
[单项选择]以下有关二叉树的描述中正确的是( )。
(1) 二叉树按某种右岸序线索化后,任一结点均有指向其前驱和后继的线索
(2) 二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面
A. 只有(1)
B. 只有(2)
C. (1)和(2)
D. 以上全不对
[单项选择]满二叉树( )二叉树。
A. 一定是完全
B. 不一定是完全
C. 不是
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) ;
}
}
}
[简答题][说明]
二叉树的二叉链表存储结构描述如下:
lypedef struct BiTNode
{ datatype data;
street BiTNode *lchiht, *rchild; /*左右孩子指针*/ } BiTNode, *BiTree;
下列函数基于上述存储结构,实现了二叉树的几项基本操作:
(1) BiTree Creale(elemtype x, BiTree lbt, BiTree rbt):建立并返回生成一棵以x为根结点的数据域值,以lbt和rbt为左右子树的二叉树;
(2) BiTree InsertL(BiTree bt, elemtype x, BiTree parent):在二叉树bt中结点parent的左子树插入结点数据元素x;
(3) BiTree DeleteL(BiTree bt, BiTree parent):在二叉树bt中删除结点parent的左子树,删除成功时返回根结点指针,否则返回空指针;
(4) frceAll(BiTree p):释放二叉树全体结点空间。
[函数]
BiTree Create(elemtype x, BiTree lbt, BiTree rbt) { BiTree p;
if ((p = (BiTNode *)malloc(sizeof(BiTNode)))= =NULL) return NULL;
p->data=x;
p->lchild=lbt;
p->rchild=rbt;
(1) ;
}
BiTree InsertL(BiTree bt, elemtype x,BiTree parent)
{ BiTree p;
if (parent= =NULL) return NULL;
if ((p=(BiTNode *)malloc(sizeof(BiTNode)))= =NULL) return NULL;
p->data=x;
p->lchild= (2) ;
p->rchild= (2) ;
if(parent->lchild= =NULL) (3) ;
else{
p->lchild= (4) ;
par
[单项选择]某二叉树的先序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A. 空或只有一个结点
B. 高度等于其结点数
C. 任一结点无左孩子
D. 任一结点无右孩子
[单项选择]按照二叉树的定义,具有3个结点的二叉树有( )
A. 3利
B. 4种
C. 5种
D. 6种
[单项选择]扩充的二叉树的外部结点树等于原来二叉树的结点数加()
A. O
B. 1
C. 2
D. n
[单项选择]按照二叉树的定义,具有3个结点的二叉树有( )种。
A. 3
B. 4
C. 5
D. 6
[单项选择]设有下列二叉树:对此二叉树前序遍历的结果为()
A. ZBTYCPXA
B. ATBZXCYP
C. ZBTACYXP
D. ATBZXCPY
[填空题]扩充二叉树的外部结点数比原二叉树的结点数多 ______。
[单项选择]某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
A. 10
B. 8
C. 6
D. 4
[填空题]由一棵二叉树的前序遍历序列和 【2】 可唯一确定这棵二叉树。
[单项选择]已知完全二叉树有30个节点,则整个二叉树有()个度为1的节点。
A. 0
B. 1
C. 2
D. 不确定