《数据结构》习题集:_树和叉树

合集下载

严蔚敏《数据结构习题集》答案第六章树和二叉树文库

严蔚敏《数据结构习题集》答案第六章树和二叉树文库

第六章树和二叉树

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第六章树和二叉树试题

《数据结构》习题汇编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语言版)习题集》标准答案树和二叉树文库

严蔚敏《数据结构(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

数据结构(树和二叉树)练习题与答案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 第六章 树和二叉树 试题

《数据结构》习题汇编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章 树和二叉树【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章 树和二叉树

第六章树和二叉树

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档