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

第六章树和二叉树
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;
return sd+1;
}arent) dep++; .
Build_Sub(1,n,1,n); .
}
分析:本算法利用了这样一个性质,即一棵子树在前序和中序序列中所占的位置总是连续的.因此,就可以用起始下标和终止下标来确定一棵子树.Pre_Start,Pre_End,In_Start和
In_End分别指示子树在前序子序列里的起始下标,终止下标,和在中序子序列里的起始和终止下标.
typedef struct{
CSNode *ptr;
CSNode *lastchild;
} NodeMsg; tr=(CSNode*)malloc(sizeof(CSNode));
Tree[i].ptr->data=[i].data; arent>=0) arent; astchild)) tr->firstchild=Tree[i].ptr; astchild->nextsib=Tree[i].ptr; astchild=Tree[i].ptr; tr=(CSNode*)malloc(sizeof(CSNode));
Tree[0].data=c;
Tree[0].ptr->data=c;
while((p=getchar())!='^'&&(c=getchar())!='^')
{
Tree[n].ptr=(CSNode*)malloc(sizeof(CSNode));
Tree[n].data=c;
Tree[n].ptr->data=c;
for(k=0;Tree[k].data!=p;k++); ata!=p) return ERROR; tr;
if(!r->firstchild)
r->firstchild=Tree[n].ptr;
else Tree[k].lastchild->nextsib=Tree[n].ptr;
Tree[k].lastchild=Tree[n].ptr;
Status CreateBiTree_GList(BiTree &T)ata); irstchild;p;p=p->next)
Print_CSTree(p->child,i+1); .
Print_CTree,0); .
}算法另一个改进之处在于加入了广义表格式是否合法的判断.
void PrintGlist_CSTree(CSTree T)ata=c;
i=pos++; irstchild=p;
p->child=pos; irtchild=NULL;
void PrintGList_CTree(CTree T,int i)ata);
if[i].firstchild) //非叶结点
{
printf("(");
for(p=T->firstchild;p;p=p->nextsib)
{
PrintGlist_CSTree(T,p->child);
if(p->nextsib) printf(","); //最后一个孩子后面不需要加逗号
}
printf(")");
}//if
}//PrintGlist_CTree。

合集下载

数据结构讲义(严蔚敏版)第六章 树和二叉树

数据结构讲义(严蔚敏版)第六章 树和二叉树
2i-1 … … 2i-1
2层:21 … i层:2i-1 …
2k-1
2k-1 k层:2k-1
满二叉树和完全二叉树
满二叉树:一棵深度为k且有2k-1个结点的二叉树。 完全二叉树:若深度为k、有n个结点的二叉树中各结
点能与深度为k的顺序编号的满二叉树编号从1到n的结 点相对应。
所有的叶结点都出现在第k层或k-1层。 若任一结点右子树最大层次为l,其左子树最大层
{ if(visit(T->data))//访问当前的根结点 if(PreorderTraverse(T->lchild,visit))//先序遍历左子树 if(PreorderTraverse(T->rchild,visit))//先序遍历右子树 return OK;
return ERROR;//若访问不到当前根结点值,出错 } else return OK;//树空 } 时间复杂度:n个结点的二叉树先序遍历时间复杂度O(n)
} ADT Tree
6.1树的定义和基本术语(续)
结点的度:分支的个数 树的度:树中所有结点的度的最大值 树的深度(高度):树中叶子结点所在的最大层次
6.1树的定义和基本术语(续)
双亲(结点): 孩子(结点):结点子树的根称为该结点的孩子 祖先(结点) :从根到该结点所经分支上的所有结点。 子孙(结点) :以某结点为根的子树的任一结点 兄弟(结点) :同一双亲的孩子互称兄弟。 堂兄弟(结点) :双亲在同一层的结点互称堂兄弟
typedef struct BiTNode {
TElemType data; struct BiTNode *lchild,*rchild;
lChild rChild
} BiTNode,*BiTree;

数据结构答案(严蔚敏版)

数据结构答案(严蔚敏版)

InitQueue(Q);
// 置空的辅助队列 Q
if (T) EnQueue(Q, T); // 根结点入队列
while (!QueueEmpty(Q)) {
DeQueue(Q, p); // 队头元素出队并置为 p
Visit(p);
if (p->Lchild)
EnQueue(Q, p->Lchild); // 左子树根入队列
Void exchg_tree(BiTree BT)
{if (BT!=null)
/*非空*/
{exchg_tree(BT->lchild); /*交换左子树所有结点指针*/
exchg_tree(BT->rchild); /*交换右子树所有结点指针*/
p=BT->lchild;
/*交换根结点左右指针*/
1
9.左边是前驱右边是后继
六、算法设计题 1.解:思路:输出叶子结点比较简单,用任何一种遍历递归算法,凡是左右指针均空者,则为叶子,将其打印出来。 法一:核心部分为: LeafCount (BiTree T) /*中序遍历 递归函数*/ {if(T!=NULL) {if((T ->lchild==NULL)&&( T ->rchild==NULL)){sum++; printf("%d\n", T ->data);}
递归程序执行完毕之后才能出栈,这样才能实现逆序。
7. 解:方案 1;哈夫曼编码先将概率放大 100 倍,以方便构造哈夫曼树。
w={7,19,2,6,32,3,21,10},按哈夫曼规则:【[(2,3),6], (7,10)】, ……19, 21, 32

数据结构严蔚敏第6章

数据结构严蔚敏第6章

整理ppt
2
线性表
A.线性结构 栈


1.数据的逻辑结构
据 结
树形结构 B.非线性结构


图形结构

个 主
2、数据的存储结构 A 顺序存储
要 问
B 链式存储

3、数据的运算:检索、排序、插入、删除、修改等。
整理ppt
3
树形结构
全校学生档案管理的组织方式
整理ppt
4
A
D
B
C
E F GH
A
B
C
D
E
11
插入类:
InitTree(&T) // 初始化置空树
CreateTree(&T, definition) // 按定义构造树
Assign(T, cur_e, value) // 给当前结点赋值
InsertChild(&T, &p, i, c)
// 将以c为根的树插入为结点p的第i棵子树
整理ppt
证明:
设 二叉树上结点总数 n = n0 + n1 + n2
又 二叉树上分支总数 b = n1+2n2
而 b = n-1 = n0 + n1 + n2 - 1
由此, n0 = n2 + 1 。整理ppt
30
两类特殊的二叉树: 1
满二叉树:指的是
2
3
深度为k且含有2k-1个 4 5 6 7
结点的二叉树。
} TriTNode, *TriTree;
结点结构: parent lchild data rchild
整理ppt
41

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

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

第六章树和二叉树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;return sd+1;}arent) dep++; .Build_Sub(1,n,1,n); .}分析:本算法利用了这样一个性质,即一棵子树在前序和中序序列中所占的位置总是连续的.因此,就可以用起始下标和终止下标来确定一棵子树.Pre_Start,Pre_End,In_Start和In_End分别指示子树在前序子序列里的起始下标,终止下标,和在中序子序列里的起始和终止下标.typedef struct{CSNode *ptr;CSNode *lastchild;} NodeMsg; tr=(CSNode*)malloc(sizeof(CSNode));Tree[i].ptr->data=[i].data; arent>=0) arent; astchild)) tr->firstchild=Tree[i].ptr; astchild->nextsib=Tree[i].ptr; astchild=Tree[i].ptr; tr=(CSNode*)malloc(sizeof(CSNode));Tree[0].data=c;Tree[0].ptr->data=c;while((p=getchar())!='^'&&(c=getchar())!='^'){Tree[n].ptr=(CSNode*)malloc(sizeof(CSNode));Tree[n].data=c;Tree[n].ptr->data=c;for(k=0;Tree[k].data!=p;k++); ata!=p) return ERROR; tr;if(!r->firstchild)r->firstchild=Tree[n].ptr;else Tree[k].lastchild->nextsib=Tree[n].ptr;Tree[k].lastchild=Tree[n].ptr;Status CreateBiTree_GList(BiTree &T)ata); irstchild;p;p=p->next)Print_CSTree(p->child,i+1); .Print_CTree,0); .}算法另一个改进之处在于加入了广义表格式是否合法的判断.void PrintGlist_CSTree(CSTree T)ata=c;i=pos++; irstchild=p;p->child=pos; irtchild=NULL;void PrintGList_CTree(CTree T,int i)ata);if[i].firstchild) //非叶结点{printf("(");for(p=T->firstchild;p;p=p->nextsib){PrintGlist_CSTree(T,p->child);if(p->nextsib) printf(","); //最后一个孩子后面不需要加逗号}printf(")");}//if}//PrintGlist_CTree。

《数据结构(C语言版 第2版)》(严蔚敏 著)第六章练习题答案

《数据结构(C语言版 第2版)》(严蔚敏 著)第六章练习题答案

《数据结构(C语言版第2版)》(严蔚敏著)第六章练习题答案第6章图1.选择题(1)在一个图中,所有顶点的度数之和等于图的边数的()倍。

A.1/2B.1C.2D.4答案:C(2)在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的()倍。

A.1/2B.1C.2D.4答案:B解释:有向图所有顶点入度之和等于所有顶点出度之和。

(3)具有n个顶点的有向图最多有()条边。

A.n B.n(n-1)C.n(n+1)D.n2答案:B解释:有向图的边有方向之分,即为从n个顶点中选取2个顶点有序排列,结果为n(n-1)。

(4)n个顶点的连通图用邻接距阵表示时,该距阵至少有()个非零元素。

A.n B.2(n-1)C.n/2D.n2答案:B所谓连通图一定是无向图,有向的叫做强连通图连通n个顶点,至少只需要n-1条边就可以了,或者说就是生成树由于无向图的每条边同时关联两个顶点,因此邻接矩阵中每条边被存储了两次(也就是说是对称矩阵),因此至少有2(n-1)个非零元素(5)G是一个非连通无向图,共有28条边,则该图至少有()个顶点。

A.7B.8C.9D.10答案:C解释:8个顶点的无向图最多有8*7/2=28条边,再添加一个点即构成非连通无向图,故至少有9个顶点。

(6)若从无向图的任意一个顶点出发进行一次深度优先搜索可以访问图中所有的顶点,则该图一定是()图。

A.非连通B.连通C.强连通D.有向答案:B解释:即从该无向图任意一个顶点出发有到各个顶点的路径,所以该无向图是连通图。

(7)下面()算法适合构造一个稠密图G的最小生成树。

A.Prim算法B.Kruskal算法C.Floyd算法D.Dijkstra算法答案:A解释:Prim算法适合构造一个稠密图G的最小生成树,Kruskal算法适合构造一个稀疏图G的最小生成树。

(8)用邻接表表示图进行广度优先遍历时,通常借助()来实现算法。

A.栈 B.队列 C.树D.图答案:B解释:广度优先遍历通常借助队列来实现算法,深度优先遍历通常借助栈来实现算法。

【免费下载】数据结构 第6章习题答案

【免费下载】数据结构 第6章习题答案

4 5 3 (3)
(注:合并值应排在叶子值之后)
1
2
(注:原题为选择题:A.32
B.33
C.34
D.15)
三、单项选择题(每小题 1 分,共 11 分)
( C )1. 不含任何结点的空树

(A)是一棵树;
(B)是一棵二叉树;
(C)是一棵树也是一棵二叉树;
(D)既不是树也不是二叉树
答:以前的标答是 B,因为那时树的定义是 n≥1
空指针。 (正确。用二叉链表存储包含 n 个结点的二叉树,结点共有 2n 个链域。由于二叉树中,除根结点外,每 一个结点有且仅有一个双亲,所以只有 n-1 个结点的链域存放指向非空子女结点的指针,还有 n+1 个空指 针。)即有后继链接的指针仅 n-1 个。 ( √ )10. 〖01 年考研题〗具有 12 个结点的完全二叉树有 5 个度为 2 的结点。
,而 N 的右子女是它在原树里对应结点的 D 。
供选择的答案
A: ①是特殊的树 ②不是树的特殊形式 ③是两棵树的总称 ④有是只有二个根结点的树形结构
B: ①左子结点 ② 右子结点 ③ 左子结点或者没有右子结点 ④ 兄弟
C~D: ①最左子结点
② 最右子结点 ③ 最邻近的右兄弟
④ 最邻近的左兄弟
⑤ 最左的兄弟 ⑥ 最右的兄弟
答案:A=
B=
C=
D=
答案:ABCDE=2,1,1,3
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,力根保通据护过生高管产中线工资敷艺料设高试技中卷术资配,料置不试技仅卷术可要是以求指解,机决对组吊电在顶气进层设行配备继置进电不行保规空护范载高与中带资负料荷试下卷高总问中体题资配,料置而试时且卷,可调需保控要障试在各验最类;大管对限路设度习备内题进来到行确位调保。整机在使组管其高路在中敷正资设常料过工试程况卷中下安,与全要过,加度并强工且看作尽护下可关都能于可地管以缩路正小高常故中工障资作高料;中试对资卷于料连继试接电卷管保破口护坏处进范理行围高整,中核或资对者料定对试值某卷,些弯审异扁核常度与高固校中定对资盒图料位纸试置,.卷编保工写护况复层进杂防行设腐自备跨动与接处装地理置线,高弯尤中曲其资半要料径避试标免卷高错调等误试,高方要中案求资,技料编术试5写交卷、重底保电要。护气设管装设备线置备4高敷动调、中设作试电资技,高气料术并中课3试中且资件、卷包拒料中管试含绝试调路验线动卷试敷方槽作技设案、,术技以管来术及架避系等免统多不启项必动方要方式高案,中;为资对解料整决试套高卷启中突动语然过文停程电机中气。高课因中件此资中,料管电试壁力卷薄高电、中气接资设口料备不试进严卷行等保调问护试题装工,置作合调并理试且利技进用术行管,过线要关敷求运设电行技力高术保中。护资线装料缆置试敷做卷设到技原准术则确指:灵导在活。分。对线对于盒于调处差试,动过当保程不护中同装高电置中压高资回中料路资试交料卷叉试技时卷术,调问应试题采技,用术作金是为属指调隔发试板电人进机员行一,隔变需开压要处器在理组事;在前同发掌一生握线内图槽部纸内故资,障料强时、电,设回需备路要制须进造同行厂时外家切部出断电具习源高题高中电中资源资料,料试线试卷缆卷试敷切验设除报完从告毕而与,采相要用关进高技行中术检资资查料料和试,检卷并测主且处要了理保解。护现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

严蔚敏课后习题第六章答案

严蔚敏课后习题第六章答案严蔚敏课后习题第六章答案第一题:什么是数据结构?数据结构是计算机科学中研究数据组织和存储方式的一门学科。

它关注如何将数据以合适的方式组织和存储,以便能够高效地访问和操作数据。

第二题:数据结构的分类有哪些?数据结构可以分为线性结构和非线性结构两大类。

线性结构包括数组、链表、栈和队列等,它们的特点是数据元素之间存在一对一的关系。

非线性结构包括树和图等,它们的特点是数据元素之间存在一对多或多对多的关系。

第三题:什么是数组?数组是一种线性结构,它由相同类型的数据元素组成,这些元素在内存中按照一定的顺序连续存储。

第四题:什么是链表?链表是一种线性结构,它由一系列节点组成,每个节点包含数据元素和指向下一个节点的指针。

第五题:数组和链表的区别是什么?数组和链表的主要区别在于数据存储方式和操作的效率。

数组的元素在内存中连续存储,可以通过下标直接访问任意位置的元素,插入和删除元素的操作比较耗时,需要移动其他元素。

链表的节点在内存中不连续存储,只能通过指针进行访问,插入和删除元素的操作比较快速,只需要改变指针的指向。

第六题:什么是栈?栈是一种特殊的线性结构,它只允许在一端进行插入和删除操作,这一端被称为栈顶。

栈的特点是后进先出,即最后插入的元素最先删除。

栈的应用场景包括函数调用、表达式求值和括号匹配等。

第七题:什么是队列?队列是一种特殊的线性结构,它只允许在一端进行插入操作,在另一端进行删除操作,这一端被称为队尾,另一端被称为队头。

队列的特点是先进先出,即最先插入的元素最先删除。

队列的应用场景包括排队、消息传递和广度优先搜索等。

第八题:什么是树?树是一种非线性结构,它由节点和边组成,每个节点可以有多个子节点。

树的特点是层次结构,根节点位于最上方,叶子节点位于最下方。

树的应用场景包括文件系统、数据库索引和组织结构等。

第九题:什么是图?图是一种非线性结构,它由顶点和边组成,每个顶点可以与其他顶点相连。

数据结构c语言版严蔚敏课后习题答案

数据结构c语言版严蔚敏课后习题答案数据结构是计算机科学中的一个重要领域,它涉及到数据的组织、管理和存储方式,以便可以高效地访问和修改数据。

C语言作为一种广泛使用的编程语言,提供了丰富的数据结构实现方法。

严蔚敏教授编写的《数据结构(C语言版)》是许多计算机专业学生的必读教材。

以下是对该书课后习题的一些参考答案,供学习者参考。

第一章:绪论1. 数据结构的定义:数据结构是计算机中存储、组织数据的方式,它不仅包括数据元素的类型和关系,还包括数据操作的函数。

2. 数据结构的重要性:数据结构对于提高程序的效率至关重要。

合理的数据结构可以减少算法的时间复杂度和空间复杂度。

第二章:线性表1. 线性表的定义:线性表是由n个元素组成的有限序列,其中n称为线性表的长度。

2. 线性表的顺序存储结构:使用数组来存储线性表的元素,元素的存储关系是连续的。

3. 线性表的链式存储结构:使用链表来存储线性表的元素,每个元素包含数据部分和指向下一个元素的指针。

第三章:栈和队列1. 栈的定义:栈是一种特殊的线性表,只能在一端(栈顶)进行插入和删除操作。

2. 队列的定义:队列是一种特殊的线性表,允许在一端(队尾)进行插入操作,在另一端(队首)进行删除操作。

第四章:串1. 串的定义:串是由零个或多个字符组成的有限序列。

2. 串的存储结构:串可以采用顺序存储结构或链式存储结构。

第五章:数组和广义表1. 数组的定义:数组是由具有相同类型的多个元素组成的集合,这些元素按照索引顺序排列。

2. 广义表的定义:广义表是线性表的推广,其中的元素可以是数据也可以是子表。

第六章:树和二叉树1. 树的定义:树是由节点组成的,其中有一个特定的节点称为根,其余每个节点有且仅有一个父节点。

2. 二叉树的定义:二叉树是每个节点最多有两个子节点的树。

第七章:图1. 图的定义:图是由顶点和边组成的数据结构,可以表示复杂的关系。

2. 图的存储结构:图可以用邻接矩阵或邻接表来存储。

数据结构与算法第六章课后答案第六章 树和二叉树

第6章 树和二叉树(参考答案)6.1(1)根结点a6.2三个结点的树的形态: 三个结点的二叉树的形态:(1) (1) (2) (4) (5)6.3 设树的结点数是n ,则n=n0+n1+n2+……+nm+ (1)设树的分支数为B ,有n=B+1n=1n1+2n2+……+mnm+1 (2)由(1)和(2)有:n0=n2+2n3+……+(m-1)nm+16.4(1) k i-1 (i 为层数)(2) (n-2)/k+1(3) (n-1)*k+i+1(4) (n-1)%k !=0; 其右兄弟的编号 n+16.5(1)顺序存储结构注:#为空结点6.6(1) 前序 ABDGCEFH(2) 中序 DGBAECHF(3) 后序 GDBEHFCA6.7(1) 空二叉树或任何结点均无左子树的非空二叉树(2) 空二叉树或任何结点均无右子树的非空二叉树(3) 空二叉树或只有根结点的二叉树6.8int height(bitree bt)// bt是以二叉链表为存储结构的二叉树,本算法求二叉树bt的高度{ int bl,br; // 局部变量,分别表示二叉树左、右子树的高度if (bt==null) return(0);else { bl=height(bt->lchild);br=height(bt->rchild);return(bl>br? bl+1: br+1); // 左右子树高度的大者加1(根) }}// 算法结束6.9void preorder(cbt[],int n,int i);// cbt是以完全二叉树形式存储的n个结点的二叉树,i是数// 组下标,初始调用时为1。

本算法以非递归形式前序遍历该二叉树{ int i=1,s[],top=0; // s是栈,栈中元素是二叉树结点在cbt中的序号 // top是栈顶指针,栈空时top=0if (n<=0) { printf(“输入错误”);exit(0);}while (i<=n ||top>0){ while(i<=n){visit(cbt[i]); // 访问根结点if (2*i+1<=n) s[++top]=2*i+1; //若右子树非空,其编号进栈i=2*i;// 先序访问左子树}if (top>0) i=s[top--]; // 退栈,先序访问右子树} // END OF while (i<=n ||top>0)}// 算法结束//以下是非完全二叉树顺序存储时的递归遍历算法,“虚结点”用‘*’表示void preorder(bt[],int n,int i);// bt是以完全二叉树形式存储的一维数组,n是数组元素个数。

数据结构课后习题答案第六章

第六章树和二叉树(下载后用阅读版式视图或web版式可以看清)习题一、选择题1.有一“遗传”关系:设x是y的父亲,则x可以把它的属性遗传给y。

表示该遗传关系最适合的数据结构为( )。

A.向量B.树C图 D.二叉树2.树最合适用来表示( )。

A.有序数据元素 B元素之间具有分支层次关系的数据C无序数据元素 D.元素之间无联系的数据3.树B的层号表示为la,2b,3d,3e,2c,对应于下面选择的( )。

A. la (2b (3d,3e),2c)B. a(b(D,e),c)C. a(b(d,e),c)D. a(b,d(e),c)4.高度为h的完全二叉树至少有( )个结点,至多有( )个结点。

A. 2h_lB.h C.2h-1 D. 2h5.在一棵完全二叉树中,若编号为f的结点存在右孩子,则右子结点的编号为( )。

A. 2iB. 2i-lC. 2i+lD. 2i+26.一棵二叉树的广义表表示为a(b(c),d(e(,g(h)),f)),则该二叉树的高度为( )。

A.3B.4C.5D.67.深度为5的二叉树至多有( )个结点。

A. 31B. 32C. 16D. 108.假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结点数为( )个。

A. 15B. 16C. 17D. 479.题图6-1中,( )是完全二叉树,( )是满二叉树。

10.在题图6-2所示的二叉树中:(1)A结点是A.叶结点 B根结点但不是分支结点C根结点也是分支结点 D.分支结点但不是根结点(2)J结点是A.叶结点 B.根结点但不是分支结点C根结点也是分支结点 D.分支结点但不是根结点(3)F结点的兄弟结点是A.EB.D C.空 D.I(4)F结点的双亲结点是A.AB.BC.CD.D(5)树的深度为A.1B.2C.3D.4(6)B结点的深度为A.1B.2C.3D.4(7)A结点所在的层是A.1B.2C.3D.411.在一棵具有35个结点的完全二叉树中,该树的深度为( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档