《数据结构》习题集:_树和叉树
严蔚敏《数据结构习题集》答案第六章树和二叉树文库
第六章树和二叉树
int Is_Descendant_C(int u,int v)
int Bitree_Sim(Bitree B1,Bitree B2)次根据栈顶元素的mark域值决定做何种动作.
typedef struct {
int data;
EBTNode *lchild;
EBTNode *rchild;
EBTNode *parent;
enum {0,1,2} mark;
} EBTNode,EBitree;
typedef struct {
int data;
PBTNode *lchild;
PBTNode *rchild;
PBTNode *parent;
} PBTNode,PBitree; .
scanf("%d",&k);
c=0; .
}
void LayerOrder(Bitree T)相比,作了一个修改,不管当前结点是否有左右孩子,都入队列.这样当树为完全二叉树时,遍历时得到是一个连续的不包含空指针的序列.反之,则序列中会含有空指针.
Status CreateBitree_Triplet(Bitree &T)意:为了能用一个统一的公式计算子孙数目,所以当T为空指针时,要返回-1而不是0.
BTNode *PreOrder_Next(BTNode *p)不是哪儿理解错了
Bitree PostOrder_Next(Bitree p)irstchild) return 1;
for(sd=1,p=[T].firstchild;p;p=p->next)
if((d=SubDepth(p->child))>sd) sd=d;
《数据结构》习题汇编06第六章树和二叉树试题
《数据结构》习题汇编06第六章树和二叉树试题
第六章树和二叉树试题
一、单项选择题
1.树中所有结点的度等于所有结点数加()。
A. 0
B. 1
C. -1
D. 2
2.在一棵树中,()没有前驱结点。
A. 分支结点
B. 叶结点
C. 根结点
D. 空结点
3.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加()。
A. 2
B. 1
C. 0
D. -1
4.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于()。
A. n
B. n-1
C. n+1
D. 2*n
5.在一棵具有n个结点的二叉树的第i层上(假定根结点为第0层,i大于等
于0而小于等于树的高度),最多具有()个结点。
A. 2i
C. 2i-1
D. 2n
6.在一棵高度为h(假定根结点的层号为0)的完全二叉树中,所含结点个数不
小于()。
A. 2h-1
B. 2h+1
C. 2h-1
D. 2h
7.在一棵具有35个结点的完全二叉树中,该树的高度为()。假定空树
的高度为-1。
A. 5
B. 6
C. 7
D. 8
8.在一棵具有n个结点的完全二叉树中,分支结点的最大编号为()。假
定树根结点的编号为0。
A. ?(n-1)/2?
B. ?n/2?
C. ?n/2?
D. ?n/2? -1
9.在一棵完全二叉树中,若编号为i的结点存在左孩子,则左子女结点的编号
为()。假定根结点的编号为0
A. 2i
B. 2i-1
C. 2i+1
10.在一棵完全二叉树中,假定根结点的编号为0,则对于编号为i (i>0)的结
点,其双亲结点的编号为()。
A. ?(i+1)/2?
B. ?(i-1)/2?
C. ?i/2?
数据结构非线性部分(树与二叉树)自测题及解答
一、概念题(每空1分,共55分)
1.树(及一切树形结构)是一种“________”结构。在树上,________结点没有直接前趋。对树上任一结点X来说,X是它的任一子树的根结点惟一的________。
2.由3个结点所构成的二叉树有种形态。
3.一棵深度为6的满二叉树有个分支结点和个叶子。
4.一棵具有257个结点的完全二叉树,它的深度为。
5.二叉树第i(i>=1)层上至多有______个结点;深度为k(k>=1)的二叉树至多有______个结点。6.对任何二叉树,若度为2的节点数为n2,则叶子数n0=______。
7.满二叉树上各层的节点数已达到了二叉树可以容纳的______。满二叉树也是______二叉树,但反之不然。
8.设一棵完全二叉树有700个结点,则共有个叶子结点。
9.设一棵完全二叉树具有1000个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个结点只有非空左子树,有个结点只有非空右子树。
10.一棵含有n个结点的k叉树,可能达到的最大深度为,最小深度为。
11.二叉树的基本组成部分是:根(N)、左子树(L)和右子树(R)。因而二叉树的遍历次序有六种。最常用的是三种:前序法(即按N L R次序),后序法(即按次序)和中序法(也称对称序法,即按L N R次序)。这三种方法相互之间有关联。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是。
12.中序遍历的递归算法平均空间复杂度为。
13.二叉树通常有______存储结构和______存储结构两类存储结构。
数据结构树和二叉树习题(有答案)
E F D G
A
B
/
+ +
* - C
* 第六章
树和二叉树
一、选择题
1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为
ABC*+DE/-,其前缀形式为
( )
A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE
D. -+A*BC/DE
【北京航空航天大学 1999 一、3 (2分)】
2.算术表达式
a+b*(c+d/e )转为后缀表达式后为(
)【中山大学 1999 一、5】
A .ab+cde/*
B .abcde/+*+
C .abcde/*++ D
.abcde*/++
3. 设有一表示算术表达式的二叉树(见下图)
,
它所表示的算术表达式是()
【南京理工大学
1999 一、20(2分)】
A. A*B+C/(D*E)+(F-G)
B. (A*B+C)/(D*E)+(F-G)
C. (A*B+C)/(D*E+(F-G ))
D. A*B+C/D*E+F-G
4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为
4,2,1,1 则T 中的叶子
数为(
)
A .5 B
.6 C
.7
D .8
【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是(
)【南京理工大学 1999 一、4 (1分)】①只有一个结点的二叉树的度为0; ②二叉树的度为
2;
③二叉树的左右子树可任意
交换;
④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。A .①②③ B .②③④ C
.②④
D .①④
6. 设森林F 对应的二叉树为
B ,它有m 个结点,B 的根为p,p 的右子树结点个数为
严蔚敏《数据结构(c语言版)习题集》标准答案树和二叉树文库
严蔚敏《数据结构(c语言版)习题集》标准答案树和二叉树文库
————————————————————————————————作者:————————————————————————————————日期:
第六章树和二叉树
6.33
int Is_Descendant_C(int u,int v)//在孩子存储结构上判断u是否v的子孙,是则返回1,否则返回0
{
if(u==v) return 1;
else
{
if(L[v])
if (Is_Descendant(u,L[v])) return 1;
if(R[v])
if (Is_Descendant(u,R[v])) return 1; //这是个递归算法
}
return 0;
}//Is_Descendant_C
6.34
int Is_Descendant_P(int u,int v)//在双亲存储结构上判断u是否v的子孙,是则返回1,否则返回0
{
for(p=u;p!=v&&p;p=T[p]);
if(p==v) return 1;
else return 0;
}//Is_Descendant_P
6.35
这一题根本不需要写什么算法,见书后注释:两个整数的值是相等的.
6.36
int Bitree_Sim(Bitree B1,Bitree B2)//判断两棵树是否相似的递归算法
{
if(!B1&&!B2) return 1;
else
if(B1&&B2&&Bitree_Sim(B1->lchild,B2->lchild)&&Bitree_Sim(B1->rchild,B2->rchild)) return 1;
数据结构(树和二叉树)练习题与答案2
1、一颗二叉树的括号表示为“1(2(4,5(6,7)),3)”)。设N代
表二叉树的根,L代表根节点的左子树,R代表根节点的右子树。若
遍历后的节点序列为3,1,7,5,6,2,4,则其遍历方式是()。
A.NRL
B.RLN
C.LRN
D.RNL
正确答案:D
2、若二叉树(每个节点值为单个字符)的中序遍历序列是abcdef,且c为根节点,则()。
A.二叉树有两个度为0的节点
B.二叉树的高度为5
C.节点c有两个孩子
D.以上都不对
正确答案:C
解析: C、从中序序列看出,节点c的左右子树均不空。
3、若知道一棵二叉树的(),便可以唯一确定该二叉树。
A.中序序列
B.先序和后序序列
C.中序和后序序列
D.先序序列
正确答案:C
4、一棵二叉树的先序遍历序列为ABCDEFG,它的中序遍历序列可能
是()。
A.ADCFEG
B.ABCDEFG
C.DACEFBG
D.CABDEFG
正确答案:B
解析: B、当一棵二叉树所有节点的左子树为空时,先序遍历序列
和中序遍历序列相同。先序序列和中序序列可以确定一棵二叉树,
这里由选项A、C和D的中序序列无法确定一棵二叉树。
5、一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为()
A.FEDCBA
B.CBEFDA
C.CBEDFA
D.不确定
正确答案:B
6、某棵二叉树中,X节点有左孩子Y节点,则在其先序遍历中
()。
A.访问Y节点后,接着遍历Y节点的左子树,然后访问X节点
B.访问X节点后,接着遍历Y节点的左子树,然后访问Y节点
C.访问Y节点后立即访问X节点
D.访问X节点后立即访问Y节点
《数据结构》习题汇编06 第六章 树和二叉树 试题
第六章树和二叉树试题
一、单项选择题
1.树中所有结点的度等于所有结点数加()。
A. 0
B. 1
C. -1
D. 2
2.在一棵树中,()没有前驱结点。
A. 分支结点
B. 叶结点
C. 根结点
D. 空结点
3.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加()。
A. 2
B. 1
C. 0
D. -1
4.在一棵具有n个结点的二叉树中,所有结点的空子树个数等于()。
A. n
B. n-1
C. n+1
D. 2*n
5.在一棵具有n个结点的二叉树的第i层上(假定根结点为第0层,i大于等
于0而小于等于树的高度),最多具有()个结点。
A. 2i
B. 2i+1
C. 2i-1
D. 2n
6.在一棵高度为h(假定根结点的层号为0)的完全二叉树中,所含结点个数不
小于()。
A. 2h-1
B. 2h+1
C. 2h-1
D. 2h
7.在一棵具有35个结点的完全二叉树中,该树的高度为()。假定空树的高度
为-1。
A. 5
B. 6
C. 7
D. 8
8.在一棵具有n个结点的完全二叉树中,分支结点的最大编号为()。假定树根
结点的编号为0。
A. (n-1)/2
B. n/2
C. n/2
D.
n/2 -1
9.在一棵完全二叉树中,若编号为i的结点存在左孩子,则左子女结点的编号
为()。假定根结点的编号为0
A. 2i
B. 2i-1
C. 2i+1
D. 2i+2
10.在一棵完全二叉树中,假定根结点的编号为0,则对于编号为i(i>0)的结
点,其双亲结点的编号为()。
A. (i+1)/2
B. (i-1)/2
C. i/2
D.
i/2-1
11.在一棵树的左子女-右兄弟表示法中,一个结点的右孩子是该结点的()结点。
《数据结构》期末复习题及参考答案 - 第6章 树和二叉树【HSH2013级】给学生
《数据结构》期末复习题及参考答案 - 第6章 树和二叉树
一、 选择题
1、在二叉树的第I 层(I≥1)上最多含有结点数为( )
A. 2I
B. 2I-1-1
C. 2I-1
D. 2I -1
2、深度为6的二叉树最多有( )个结点
A .64 B.63 C.32 D.31
3、一棵树高为K 的完全二叉树至少有( )个结点
A.2k –1
B.2k-1 –1
C.2k-1
D.2 k
4、有关二叉树下列说法正确的是( )
A. 二叉树的度为2
B. 一棵二叉树的度可以小于2
C. 二叉树中至少有一个结点的度为2
D. 二叉树中任何一个结点的度都为2
5、n 个结点的线索二叉树上含有的线索数为( )
A. 2n
B. n -l
C. n +l
D. n
6、线性表和树的结构区别在于( )
A .前驱数量不同,后继数量相同
B .前驱数量相同,后继数量不同
C .前驱和后继的数量都相同
D .前驱和后继的数量都不同
7、已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为ABC*+DE/-,则其前缀形式
为( )
A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE D. -+A*BC/DE
8、设有一表示算术表达式的二叉树(见下图),
它所表示的算术表达式是( )
A. A*B+C/(D*E)+(F-G)
B. (A*B+C)/(D*E)+(F-G)
9、一棵具有 n 个结点的完全二叉树的树高度(深度)(符号⎣⎦x 表示取不大于x 的最大整数)
是( )
10、利用二叉链表存储树,则根结点的右指针是()。
11、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历
树和叉树(数据结构)
第六章树和二叉树 6.1树(tree)的概念
在日常生活中,可以见到很多情形可以归结为树结构。如:家族谱系、行政管理机构、DOS和Windows 磁盘文件管理系统等。
我们讨论的树和自然界的树在生长方向上正好相反,它是倒长的树,即根朝上,枝干和叶子朝下。
例1:某家族谱系的一部分
例2:国家行政管理机构的一部分
例3:DOS和Windows磁盘文件的一部分C:\
TC20
VC6.0
数据结构课件
数据结构讲稿
第一章
第二章
……
MyTc程序
Tc1
Tc2
……
MyVc程序
Vc1
Vc2
……
树是一种层次结构,属于非线性结构。我们学过的线性表可以灵活组织数据,但它受到线性结构的限制,表达层次结构不太方便。
6.1.1树的定义
·树T是n(n≥0)个结点的有限集合。它满足:
(1)仅有一个特定的结点,称为根(root)结点;
(2)其余结点分为m(m≥0)个互不相交的非空有限集合
T,1,T2,……,T m,其中每个集合自身又是一棵树,称为根的子树(subtree)。
·为了表述方便,把没有结点的树称为空树。
·树的定义具有递归性:即一棵树是由根及若干棵子树构成的,而子树又是由根及若干棵子树构成的,……。
表达树的方法通常有4种:树形、凹入、集合和广义表
(1) 树形表示法
A
B C D
E F G H
(2)凹入表示法
A
B
C
E
F
D
G
H
(3)集合嵌套表示法
A
○E C○F○G D○H B
(4)广义表表示法T(A(B,C(E,F),D(G,H)))
6.1.3 树的基本术语
为了对树的形态表述清楚和形象,通常引用树和人的特征及术语来描述。
(1)结点和树的度(degree)
数据结构习题与答案--树和二叉树
第六章树和二叉树
一、判断题
( t )01、若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
( f )02、二叉树中每个结点的两棵子树的高度差等于1。
(t )03、二叉树中每个结点的两棵子树是有序的。
( f )04、二叉树中每个结点有两棵非空子树或有两棵空子树。( f )05、二叉树中所有结点个数是2k-1-1,其中k是树的深度。
(f )06、二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
( f )07、对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i—1个结点。
(t )08、用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(t)09、具有12个结点的完全二叉树有5个度为2的结点。( f )10、二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
( f )11、二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索。
( t )12、二叉树的先序遍历序列中,任意一个结点均处在其孩子结点的前面。
二、填空题
01、由3个结点所构成的二叉树有_5_种形态。
02、一棵深度为6的满二叉树有____个分支结点和____个叶子。
03、一棵具有257个结点的完全二叉树,它的深度为____。
04、设一棵完全二叉树有700个结点,则共有____个叶子结点。
05、设一棵完全二叉树具有1000个结点,则此完全二叉树有____个叶子结点,有____个度为2的结点,有____个结点只有非空左子树,有____个结点只有非空右子树。
数据结构树和二叉树习题(有答案)
E F D G
A
B
/
+ +
* - C
* 第六章
树和二叉树
一、选择题
1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为
ABC*+DE/-,其前缀形式为
( )
A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE
D. -+A*BC/DE
【北京航空航天大学 1999 一、3 (2分)】
2.算术表达式
a+b*(c+d/e )转为后缀表达式后为(
)【中山大学 1999 一、5】
A .ab+cde/*
B .abcde/+*+
C .abcde/*++ D
.abcde*/++
3. 设有一表示算术表达式的二叉树(见下图)
,
它所表示的算术表达式是()
【南京理工大学
1999 一、20(2分)】
A. A*B+C/(D*E)+(F-G)
B. (A*B+C)/(D*E)+(F-G)
C. (A*B+C)/(D*E+(F-G ))
D. A*B+C/D*E+F-G
4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为
4,2,1,1 则T 中的叶子
数为(
)
A .5 B
.6 C
.7
D .8
【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是(
)【南京理工大学 1999 一、4 (1分)】①只有一个结点的二叉树的度为0; ②二叉树的度为
2;
③二叉树的左右子树可任意
交换;
④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。A .①②③ B .②③④ C
.②④
D .①④
6. 设森林F 对应的二叉树为
B ,它有m 个结点,B 的根为p,p 的右子树结点个数为
严蔚敏《数据结构习题集》答案第六章树和二叉树文库
第六章树和二叉树
int Is_Descendant_C(int u,int v)
int Bitree_Sim(Bitree B1,Bitree B2)次根据栈顶元素的mark域值决定做何种动作.
typedef struct {
int data;
EBTNode *lchild;
EBTNode *rchild;
EBTNode *parent;
enum {0,1,2} mark;
} EBTNode,EBitree;
typedef struct {
int data;
PBTNode *lchild;
PBTNode *rchild;
PBTNode *parent;
} PBTNode,PBitree; .
scanf("%d",&k);
c=0; .
}
void LayerOrder(Bitree T)相比,作了一个修改,不管当前结点是否有左右孩子,都入队列.这样当树为完全二叉树时,遍历时得到是一个连续的不包含空指针的序列.反之,则序列中会含有空指针.
Status CreateBitree_Triplet(Bitree &T)意:为了能用一个统一的公式计算子孙数目,所以当T为空指针时,要返回-1而不是0.
BTNode *PreOrder_Next(BTNode *p)不是哪儿理解错了
Bitree PostOrder_Next(Bitree p)irstchild) return 1;
for(sd=1,p=[T].firstchild;p;p=p->next)
if((d=SubDepth(p->child))>sd) sd=d;
数据结构树和二叉树习题(有答案)
E F D G
A
B
/
+ +
* - C
* 第六章
树和二叉树
一、选择题
1.已知一算术表达式的中缀形式为 A+B*C-D/E ,后缀形式为
ABC*+DE/-,其前缀形式为
( )
A .-A+B*C/DE B. -A+B*CD/E C .-+*ABC/DE
D. -+A*BC/DE
【北京航空航天大学 1999 一、3 (2分)】
2.算术表达式
a+b*(c+d/e )转为后缀表达式后为(
)【中山大学 1999 一、5】
A .ab+cde/*
B .abcde/+*+
C .abcde/*++ D
.abcde*/++
3. 设有一表示算术表达式的二叉树(见下图)
,
它所表示的算术表达式是()
【南京理工大学
1999 一、20(2分)】
A. A*B+C/(D*E)+(F-G)
B. (A*B+C)/(D*E)+(F-G)
C. (A*B+C)/(D*E+(F-G ))
D. A*B+C/D*E+F-G
4. 设树T 的度为4,其中度为1,2,3和4的结点个数分别为
4,2,1,1 则T 中的叶子
数为(
)
A .5 B
.6 C
.7
D .8
【南京理工大学 2000 一、8 (1.5分)】5. 在下述结论中,正确的是(
)【南京理工大学 1999 一、4 (1分)】①只有一个结点的二叉树的度为0; ②二叉树的度为
2;
③二叉树的左右子树可任意
交换;
④深度为K 的完全二叉树的结点个数小于或等于深度相同的满二叉树。A .①②③ B .②③④ C
.②④
D .①④
6. 设森林F 对应的二叉树为
B ,它有m 个结点,B 的根为p,p 的右子树结点个数为
数据结构树和二叉树习题及答案
习题六树和二叉树
一、单项选择题
1.以下说法错误的是 ( )
A.树形结构的特点是一个结点可以有多个直接前趋
B.线性结构中的一个结点至多只有一个直接后继
C.树形结构可以表达(组织)更复杂的数据
D.树(及一切树形结构)是一种"分支层次"结构
E.任何只含一个结点的集合是一棵树
2.下列说法中正确的是 ( )
A.任何一棵二叉树中至少有一个结点的度为2
B.任何一棵二叉树中每个结点的度都为2
C.任何一棵二叉树中的度肯定等于2
D.任何一棵二叉树中的度可以小于2
3.讨论树、森林和二叉树的关系,目的是为了()
A.借助二叉树上的运算方法去实现对树的一些运算
B.将树、森林按二叉树的存储方式进行存储
C.将树、森林转换成二叉树
D.体现一种技巧,没有什么实际意义
4.树最适合用来表示 ( )
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据
5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定
6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F 对应的二叉树根结点的右子树上的结点个数是()。
A.M1 B.M1+M2 C.M3 D.M2+M3
7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()
A. 250 B. 500 C.254 D.505 E.以上答案都不对
8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )
A.不确定 B.2n C.2n+1 D.2n-1
《数据结构题集》答案 第6章 树和二叉树
第六章树和二叉树
6.33
int Is_Descendant_C(int u,int v)//在孩子存储结构上判断u是否v的子孙,是则返回1,否则返回0
{
if(u==v) return 1;
else
{
if(L[v])
if (Is_Descendant(u,L[v])) return 1;
if(R[v])
if (Is_Descendant(u,R[v])) return 1; //这是个递归算法
}
return 0;
}//Is_Descendant_C
6.34
int Is_Descendant_P(int u,int v)//在双亲存储结构上判断u是否v的子孙,是则返回1,否则返回0
{
for(p=u;p!=v&&p;p=T[p]);
if(p==v) return 1;
else return 0;
}//Is_Descendant_P
6.35
这一题根本不需要写什么算法,见书后注释:两个整数的值是相等的.
6.36
int Bitree_Sim(Bitree B1,Bitree B2)//判断两棵树是否相似的递归算法
{
if(!B1&&!B2) return 1;
else
if(B1&&B2&&Bitree_Sim(B1->lchild,B2->lchild)&&Bitree_Sim(B1->rchild,B2->rc hild))
return 1;
else return 0;
}//Bitree_Sim
6.37
void PreOrder_Nonrecursive(Bitree T)//先序遍历二叉树的非递归算法{
数据结构树和二叉树习题及答案
数据结构树和二叉树习
题及答案
集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-MHHGN#
习题六树和二叉树
一、单项选择题
1.以下说法错误的是 ( )
A.树形结构的特点是一个结点可以有多个直接前趋
B.线性结构中的一个结点至多只有一个直接后继
C.树形结构可以表达(组织)更复杂的数据
D.树(及一切树形结构)是一种"分支层次"结构
E.任何只含一个结点的集合是一棵树
2.下列说法中正确的是 ( )
A.任何一棵二叉树中至少有一个结点的度为2
B.任何一棵二叉树中每个结点的度都为2
C.任何一棵二叉树中的度肯定等于2
D.任何一棵二叉树中的度可以小于2
3.讨论树、森林和二叉树的关系,目的是为了()
A.借助二叉树上的运算方法去实现对树的一些运算
B.将树、森林按二叉树的存储方式进行存储
C.将树、森林转换成二叉树
D.体现一种技巧,没有什么实际意义
4.树最适合用来表示 ( )
A.有序数据元素 B.无序数据元素
C.元素之间具有分支层次关系的数据 D.元素之间无联系的数据5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()
A.9 B.11 C.15 D.不确定
6.设森林F中有三棵树,第一,第二,第三棵树的结点个数分别为M1,M2和M3。与森林F对应的二叉树根结点的右子树上的结点个数是()。
A.M1 B.M1+M2 C.M3 D.M2+M3
7.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A. 250 B. 500 C.254 D.505 E.以上答案都不对
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第6章树和二叉树
一、选择题
1.有一“遗传”关系,设x是y的父亲,则x可以把它的属性遗传给y,表示该遗传关系最适合的数据结构是( B )
A、向量
B、树
C、图
D、二叉树
2.树最适合用来表示( B )
A、有序数据元素
B、元素之间具有分支层次关系的数据
C、无序数据元素
D、元素之间无联系的数据
3.树B 的层号表示为1a,2b,3d,3e,2c,对应于下面选择的( C )
A、1a(2b(3d,3e),2c)
B、a(b(D,e),c)
C、a(b(d,e),c)
D、a(b,d(e),c)
4.对二叉树的结点从1 开始连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,
其左孩子的编号小于其右孩子的编号,则可采用( C )次序的遍历实现二叉树的结点编号。
A、先序
B、中序
C、后序
D、从根开始按层次遍历
5.按照二叉树的定义,具有3 个结点的二叉树有(C )种。
A、3
B、4
C、5
D、6
6.在一棵有n个结点的二叉树中,若度为2的结点数为n2,度为1的结点数为n1,度为0的结点数为n0,则树的最大高
度为( E ),其叶结点数为( H );树的最小高度为( B ),其叶结点数为( G );若采用链表存储结构,则有( I )个空链域。
log+1 C、log2n D、n
A、n/2
B、⎣⎦n2
E、n0+n1+n2
F、n1+n2
G、n2+1
H、1
I、n+1 J、n1K、n2L、n1+1
7.对一棵满二叉树,m 个树叶,n 个结点,深度为h,则( D )
A、n=m+h
B、h+m=2n
C、m=h-1
D、n=2h-1
8.设高度为h 的二叉树中只有度为0 和度为2 的结点,则此类二叉树中所包含的结点数至少为( B ),至多
为(D )。
A、2h
B、2h-1
C、2h-1
D、2h-1
9.在一棵二叉树上第5 层的结点数最多为(B)(假设根结点的层数为1)
A、8
B、16
C、15
D、32
10.深度为5 的二叉树至多有( C )个结点。
A、16
B、32
C、31
D、10
11.一棵有124 个叶结点的完全二叉树,最多有(B )个结点
A、247
B、248
C、249
D、250
12.含有129 个叶子结点的完全二叉树,最少有( D )个结点
A、254
B、255
C、256
D、257
13.假定有一棵二叉树,双分支结点数为15,单分支结点数为30,则叶子结点数为( B )个。
A、15
B、16
C、17
D、47
14.用顺序存储的方法将完全二叉树中所有结点逐层存放在数组R[1…n]中,结点R[i]若有左子树,则左子树是结
点( B )。
A、R[2i+1]
B、R[2i]
C、R[i/2]
D、R[2i-1]
15.在一棵非空二叉树的中序遍历序列中,根结点的右边( A )。
A、只有右子树上的所有结点
B、只有右子树上的部分结点
C、只有左子树上的所有结点
D、只有左子树上的部分结点
16.任何一棵二叉树的叶结点在先序、中序和后序遍历中的相对次序( A )。
A、不发生改变
B、发生改变
C、不能确定
D、以上都不对
17.设n、m为一棵树上的两个结点,在中序遍历时,n在m 前的条件是( C )。
A、n在m右方
B、n是m祖先
C、n在m左方
D、n是m子孙
18.一棵完全二叉树按层次遍历的序列为ABCDEFGHI,则在先序遍历中结点E的直接前驱为( D ),后序遍历中
结点B的直接后继是( E )。
A、B
B、D
C、A
D、I
E、F
F、C
19.已知某二叉树的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是(D )。
A、acbed
B、decab
C、deabc
D、cedba
20.若二叉树采用二叉链表作存储结构,要交换其所有分支结点左右子树的位置,利用( C )遍历方法最合适。
A、前序
B、中序
C、后序
D、层次
21.线索二叉树是一种( C )结构。
A、逻辑
B、逻辑和存储
C、物理
D、线性
22.如果T2 是由有序树T 转换而来的二叉树,那么T 中结点的前序就是T2 中结点的( A )。
A、前序
B、中序
C、后序
D、层次序
23.设T是哈夫曼树,具有5个叶结点,树T 的高度最高可以是( E )。
A、1
B、2
C、3
D、4
E、5
F、6
24.由带权为8,2,5,7 的四个叶子结点构造一棵哈夫曼树,该树的带权路径长度为( D )。
A、23
B、37
C、46
D、43
25.树的后根遍历序列等同于该树对应的二叉树的( B )。
A、先序遍历
B、中序遍历
C、后序遍历
D、层次遍历
26.以下说法错误的是( A )。
A、树形结构的特点是一个结点可以有多个直接前趋
B、线性结构中的一个结点至多只有一个直接后继
C、二叉树与树是两种不同的数据结构
D、树(及一切树形结构)是一种“分支层次”结构
27.以下说法错误的是( C )。
A、二叉树可以是空集
B、二叉树的任一结点都有两棵子树
C、二叉树与树具有相同的树形结构
D、二叉树中任一结点的两棵子树有次序之分
28.以下说法错误的是( D )。
A、完全二叉树上结点之间的父子关系可由它们编号之间的关系来表达
B、在三叉链表上,二叉树的求双亲运算很容易实现
C、在二叉链表上,求根,求左、右孩子等很容易实现
D、在二叉链表上,求双亲运算的时间性能很好
29.以下说法错误的是(D )。
A、一般在哈夫曼树中,权值越大的叶子离根结点越近
B、哈夫曼树中没有度数为1 的分支结点
C、若初始森林中共有n 棵二叉树,最终求得的哈夫曼树共有2n-1 个结点
D、若初始森林中共有n 棵二叉树,进行2n-1 次合并后才能剩下一棵最终的哈夫曼树
30.将含有41个结点的完全二叉树从根结点开始编号,根为1号,后面按从上到下、从左到右的顺序对结点编号,
那么编号为21 的双亲结点编号为( A )。
A 、10 B、11 C、41 D、20