数据结构第六章作业学习资料
数据结构第6章_树
![数据结构第6章_树](https://img.taocdn.com/s3/m/abebc19ff705cc175527099f.png)
当一个双亲结点与两个孩子链接完毕,则进行出队操作, 使队头指针指向下一个待链接的双亲结点。
2019/10/2
23
二叉树的建立算法
bitree *CREATREE( )
/* 建立二叉树函数,函数返回指向根结点的指针 */
{char ch;
/* 结点信息变量 */
森林:m(m≥0)棵互不相交的树的集合构成森林。
有序树和无序树:若将树中每个结点的各个子树都看成是 从左到右有次序的(即不能互换),则称该树为有序树, 否则为无序树。
2019/10/2
6
树的存储结构
顺序存储 顺序存储时,首先必须对树形结构的结点进行某种 方式的线性化,使之成为一个线性序列,然后存储。
if (rear % 2= =0) Q[front]→lchild=s;/*rear为偶数,新结点是左孩子
*/
else Q[front]→rchild=s; /* rear为奇数且不等于1,新结点是右孩子
*/
if (rear % 2= =1) front++; /* 结点* Q[front]的两个孩子处理完毕,出队列 */
2019/10/2
2
树的直观表示法
使用圆圈表示结点,连线表示结点之间的关系,结点的名 字可写在圆圈内或圆圈旁。
学校
一系
二系
十系
一室
八室
一室
七室
2019/10/2
3
树的基本术语
结点:指树中的一个元素,包含数据项及若干指向其子树的分 支。
结点的度:指结点拥有的子树个数。 树的度:指树中结点的度的最大值。
12
二叉树的性质-4
《数据结构(C语言版 第2版)》(严蔚敏 著)第六章练习题答案
![《数据结构(C语言版 第2版)》(严蔚敏 著)第六章练习题答案](https://img.taocdn.com/s3/m/dacf87764693daef5ef73def.png)
《数据结构(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章](https://img.taocdn.com/s3/m/ab2401f3941ea76e58fa04ed.png)
第6章树和二叉树一、选择题1.不含任何结点的空树()。
A. 是一棵树B. 是一棵二叉树C. 是一棵树也是一棵二叉树;D. 既不是树也不是二叉树2. 一棵有n个结点的树的所有结点的度数之和为()。
A. n-1B. nC. n+1D. 2n3. 在二叉树中某一个结点的深度为3,高度为4,则该树的高度是()。
A. 5B. 6C. 7D. 84. 设高度为h的二叉树中只有度为0和度为2的结点,则该树的结点数至多为()。
A. 2h-1B. 2h+1C. 2h-1D. 2h+15. 设高度为h的二叉树中只有度为0和度为2的结点,则该树的结点数至少为()。
A. 2h-1B. 2h+1C. 2h-1D. 2h+16. 高度为h的满二叉树中有n个结点,其中有m个叶结点,则正确的等式是()。
A. h+m=nB. h+m=2nC. m=h-1D. n=2h-17.二叉树是非线性数据结构,所以()。
A. 它不能用顺序存储结构存储B. 它不能用链式存储结构存储C. 顺序存储结构和链式存储结构都能存储D. 顺序存储结构和链式存储结构都不能使用8. 一棵完全二叉树有25个叶结点,则该树最少有()个结点。
A. 48B. 49C. 50D. 519. 假设一个三叉树的结点数为36,则该树的最小高度为()。
A. 2B. 3C. 4D. 510. 设二叉树有n个结点,则二叉链表中非空指针数为()。
A. n-1B. nC. n+1D. 2n11. 先序序列和中序序列正好相反的二叉树是()。
A. 完全二叉树B. 满二叉树C. 左单枝树D. 右单枝树12. 后序序列和中序序列正好相反的二叉树是()。
A. 完全二叉树B. 满二叉树C. 左单枝树D. 右单枝树13.把一棵树转换为二叉树后,这棵二叉树的形态是()。
A. 唯一的B. 有多种C. 有多种,但根结点都没有左孩子D. 有多种,但根结点都没有右孩子14. 将一棵树T转换为孩子—兄弟链表表示的二叉树H,则T的后根序遍历是H 的()。
数据结构课后习题及解析第六章
![数据结构课后习题及解析第六章](https://img.taocdn.com/s3/m/8add6ba3d0d233d4b14e6970.png)
第六章习题1.试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。
2.对题1所得各种形态的二叉树,分别写出前序、中序和后序遍历的序列。
3.已知一棵度为k的树中有n1个度为1的结点,n2个度为2的结点,……,nk个度为k的结点,则该树中有多少个叶子结点并证明之。
4.假设一棵二叉树的先序序列为EBADCFHGIKJ,中序序列为ABCDEFGHIJK,请画出该二叉树。
5.已知二叉树有50个叶子结点,则该二叉树的总结点数至少应有多少个?6.给出满足下列条件的所有二叉树:①前序和后序相同②中序和后序相同③前序和后序相同7. n个结点的K叉树,若用具有k个child域的等长链结点存储树的一个结点,则空的Child 域有多少个?8.画出与下列已知序列对应的树T:树的先根次序访问序列为GFKDAIEBCHJ;树的后根次序访问序列为DIAEKFCJHBG。
9.假设用于通讯的电文仅由8个字母组成,字母在电文中出现的频率分别为:0.07,0.19,0.02,0.06,0.32,0.03,0.21,0.10请为这8个字母设计哈夫曼编码。
10.已知二叉树采用二叉链表存放,要求返回二叉树T的后序序列中的第一个结点指针,是否可不用递归且不用栈来完成?请简述原因.11. 画出和下列树对应的二叉树:12.已知二叉树按照二叉链表方式存储,编写算法,计算二叉树中叶子结点的数目。
13.编写递归算法:对于二叉树中每一个元素值为x的结点,删去以它为根的子树,并释放相应的空间。
14.分别写函数完成:在先序线索二叉树T中,查找给定结点*p在先序序列中的后继。
在后序线索二叉树T中,查找给定结点*p在后序序列中的前驱。
15.分别写出算法,实现在中序线索二叉树中查找给定结点*p在中序序列中的前驱与后继。
16.编写算法,对一棵以孩子-兄弟链表表示的树统计其叶子的个数。
17.对以孩子-兄弟链表表示的树编写计算树的深度的算法。
18.已知二叉树按照二叉链表方式存储,利用栈的基本操作写出后序遍历非递归的算法。
数据结构第六章图练习题及答案详细解析(精华版)
![数据结构第六章图练习题及答案详细解析(精华版)](https://img.taocdn.com/s3/m/ff1fe846dcccda38376baf1ffc4ffe473368fd32.png)
数据结构第六章图练习题及答案详细解析(精华版)第一篇:数据结构第六章图练习题及答案详细解析(精华版) 图1.填空题⑴ 设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。
【解答】0,n(n-1)/2,0,n(n-1)【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。
⑵ 任何连通图的连通分量只有一个,即是()。
【解答】其自身⑶ 图的存储结构主要有两种,分别是()和()。
【解答】邻接矩阵,邻接表【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。
⑷ 已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。
【解答】O(n+e)【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。
⑸ 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。
【解答】求第j列的所有元素之和⑹ 有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。
【解答】出度⑺ 图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。
【解答】前序,栈,层序,队列⑻ 对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal算法求最小生成树的时间复杂度为()。
【解答】O(n2),O(elog2e)【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。
⑼ 如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。
【解答】回路⑽ 在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。
数据结构 第六章 树和二叉树作业及答案
![数据结构 第六章 树和二叉树作业及答案](https://img.taocdn.com/s3/m/58679b303c1ec5da50e270d1.png)
第六章树和二叉树作业一、选择题(每题2分,共24分)。
1. 一棵二叉树的顺序存储情况如下:树中,度为2的结点数为( C )。
A.1 B.2 C.3 D.42. 一棵“完全二叉树”结点数为25,高度为(B )。
A.4 B.5 C.6 D.不确定3.下列说法中,(B )是正确的。
A. 二叉树就是度为2的树B. 二叉树中不存在度大于2的结点C. 二叉树是有序树D. 二叉树中每个结点的度均为24.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是(B )。
A. CABDEFGB. BCDAEFGC. DACEFBGD. ADBCFEG5.线索二叉树中的线索指的是(C )。
A.左孩子 B.遍历 C.指针 D.标志6. 建立线索二叉树的目的是(A )。
A. 方便查找某结点的前驱或后继B. 方便二叉树的插入与删除C. 方便查找某结点的双亲D. 使二叉树的遍历结果唯一7. 有 D )示意。
A.B.C.D.8. 一颗有2046个结点的完全二叉树的第10层上共有(B )个结点。
A. 511B. 512C. 1023D. 10249. 一棵完全二叉树一定是一棵(A )。
A. 平衡二叉树B. 二叉排序树C. 堆D. 哈夫曼树10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是( C )的二叉树。
A .空或只有一个结点B .高度等于其结点数C .任一结点无左孩子D .任一结点无右孩子11.一棵二叉树的顺序存储情况如下:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15A B C D E 0 F 0 0 G H 0 0 0 X结点D 的左孩子结点为( D )。
A .EB .C C .FD .没有12.一棵“完全二叉树”结点数为25,高度为( B )。
A .4B .5C .6D .不确定二、填空题(每空3分,共18分)。
1. 树的路径长度:是从树根到每个结点的路径长度之和。
对结点数相同的树来说,路径长度最短的是 完全 二叉树。
数据结构课后习题(第6章)
![数据结构课后习题(第6章)](https://img.taocdn.com/s3/m/3c5471e99b89680203d825de.png)
【课后习题】第6章树和二叉树网络工程2010级()班学号:姓名:一、填空题(每空1分,共16分)1.从逻辑结构看,树是典型的。
2.设一棵完全二叉树具有999个结点,则此完全二叉树有个叶子结点,有个度为2的结点,有个度为1的结点。
3.由n个权值构成的哈夫曼树共有个结点。
4.在线索化二叉树中,T所指结点没有左子树的充要条件是。
5.在非空树上,_____没有直接前趋。
6.深度为k的二叉树最多有结点,最少有个结点。
7.若按层次顺序将一棵有n个结点的完全二叉树的所有结点从1到n编号,那么当i为且小于n时,结点i的右兄弟是结点,否则结点i没有右兄弟。
8.N个结点的二叉树采用二叉链表存放,共有空链域个数为。
9.一棵深度为7的满二叉树有___ ___个非终端结点。
10.将一棵树转换为二叉树表示后,该二叉树的根结点没有。
11.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的遍历结果是一样的。
12.一棵Huffman树是带权路径长度最短的二叉树,权值的外结点离根较远。
二、判断题(如果正确,在对应位置打“√”,否则打“⨯”。
每题0.5分,共5分)1.对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有2i-1个结点。
2.二叉树的前序遍历并不能唯一确定这棵树,但是,如果我们还知道该二叉树的根结点是那一个,则可以确定这棵二叉树。
3.一棵树中的叶子结点数一定等于与其对应的二叉树中的叶子结点数。
4.度≤2的树就是二叉树。
5.一棵Huffman树是带权路径长度最短的二叉树,权值较大的外结点离根较远。
6.采用二叉树来表示树时,树的先根次序遍历结果与其对应的二叉树的前序遍历结果是一样的。
7.不存在有偶数个结点的满二叉树。
8.满二叉树一定是完全二叉树,而完全二叉树不一定是满二叉树。
9.已知二叉树的前序遍历顺序和中序遍历顺序,可以惟一确定一棵二叉树;10.已知二叉树的前序遍历顺序和后序遍历顺序,不能惟一确定一棵二叉树;三、单项选择(请将正确答案的代号填写在下表对应题号下面。
数据结构(C语言版)第6章练习 清华大学出版社
![数据结构(C语言版)第6章练习 清华大学出版社](https://img.taocdn.com/s3/m/93263e11866fb84ae45c8d5f.png)
第六章数据结构作业第六章树选择题1.已知一算术表达式的中缀形式为 A+B*C-D/E,后缀形式为ABC*+DE/-,其前缀形式为( ) A.-A+B*C/DE B. -A+B*CD/E C.-+*ABC/DE D. -+A*BC/DE2.算术表达式a+b*(c+d/e)转为后缀表达式后为()A.ab+cde/* B.abcde/+*+ C.abcde/*++ D.abcde*/++3. 设树T的度为4,其中度为1,2,3和4的结点个数分别为4,2,1,1 则T中的叶子数为()A.5 B.6 C.7 D.84. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的右子树结点个数为n,森林F中第一棵树的结点个数是()A.m-n B.m-n-1 C.n+1 D.条件不足,无法确定5.若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点个数是()A.9 B.11 C.15 D.不确定6.具有10个叶结点的二叉树中有()个度为2的结点,A.8 B.9 C.10 D.ll7.一棵完全二叉树上有1001个结点,其中叶子结点的个数为()A. 250 B. 500 C.254 D.505 E.以上答案都不对8. 有n个叶子的哈夫曼树的结点总数为()。
A.不确定 B.2n C.2n+1 D.2n-19. 一棵具有 n个结点的完全二叉树的树高度(深度)是()A.⎣logn⎦+1 B.logn+1 C.⎣logn⎦ D.logn-110.深度为h的满m叉树的第k层有()个结点。
(1=<k=<h)A.m k-1 B.m k-1 C.m h-1 D.m h-111.在一棵高度为k的满二叉树中,结点总数为()A.2k-1 B.2k C.2k-1 D.⎣log2k⎦+112.对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )次序的遍历实现编号。
数据结构练习_第六章_树
![数据结构练习_第六章_树](https://img.taocdn.com/s3/m/f5b880c85022aaea998f0f19.png)
数据结构练习第六章树一、选择题1.树最适合用来表示( )。
A.有序数据元素B.无序数据元素C.元素之间具有分支层次关系的数据D.元素之间无联系的数据2.二叉树的第k层的结点数最多为( ).A.2k-1 B.2K+1 C.2K-1 D. 2k-13.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
A. 2m-1B. 2mC. 2m+1D. 4m4.设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
A. BADCB. BCDAC. CDABD. CBDA5.设某棵二叉树中有2000个结点,则该二叉树的最小高度为()。
A. 9B. 10C. 11D. 126.设一棵二叉树的深度为k,则该二叉树中最多有()个结点。
A. 2k-1 B .2k C. 2k-1 D. 2k-17.设某二叉树中度数为0的结点数为N0,度数为1的结点数为Nl,度数为2的结点数为N2,则下列等式成立的是()。
A. N0=N1+1 B. N=Nl+N2C. N=N2+1 D. N=2N1+l8.设一棵m叉树中度数为0的结点数为N0,度数为1的结点数为Nl,……,度数为m的结点数为Nm,则N=()。
A. Nl +N2+……+Nm B. l+N2+2N3+3N4+……+(m-1)NmC. N2+2N3+3N4+……+(m-1)Nm D. 2Nl+3N2+……+(m+1)Nm9.设一组权值集合W={2,3,4,5,6},则由该权值集合构造的哈夫曼树中带权路径长度之和为()。
A. 20B. 30C. 40D. 4510.设二叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是()。
A. 空或只有一个结点B. 高度等于其结点数C. 任一结点无左孩子D. 任一结点无右孩子11.设某棵三叉树中有40个结点,则该三叉树的最小高度为()。
A. 3B. 4C. 5D. 612.深度为k的完全二叉树中最少有()个结点。
数据结构课后习题答案第六章
![数据结构课后习题答案第六章](https://img.taocdn.com/s3/m/cda5e8dcba0d4a7302763a70.png)
第六章树和二叉树(下载后用阅读版式视图或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个结点的完全二叉树中,该树的深度为( )。
第六章数据结构基础习题及参考答案
![第六章数据结构基础习题及参考答案](https://img.taocdn.com/s3/m/cffa1f2b02d8ce2f0066f5335a8102d276a261cd.png)
第六章数据结构基础习题及参考答案第六章数据结构基础一、选择题1.下列数据结构中,(C)不是数据逻辑结构。
A.树结构B.线性表结构C.存储器物理结构D.二叉树2.数据结构是(D)。
A.一种数据类型B.数据的存储结构C.一组性质相同的数据元素的结合D.相互之间存在一种或多种特定关系的数据元素的集合3.下列关于队列的叙述中,正确的是(C)。
A.在队列中只能入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是后进先出的线性表4.如果进栈序列为a1,a2,a3,a4,则可能的出栈序列是(B)A.a3,a1,a4,a2B.a2,a4,a3,a1C.a3,a4,a1,a2D.任意顺序5.链表不具备的特点是(A)A.可能随机访问任意一个节点B.插入和删除不需要移动任何元素C.不必事先估计存储空间D.所需空间与其长度成正比、6.已知某二叉树的后续遍历序列是DACBE,中序遍历序列是DEBAC,则它的前序遍历序列是(D)。
A.ACBEDB.DEABCC.DECABD.EDBCA7.某二叉树中度为2的结点有18个,则该二叉树中有(C)个叶子结点。
A.17B.18C.19D.20二、填空题1.数据元素是(数据)的基本单位,是对一个客观实体的数据描述。
2.简单地说,数据结构是指数据之间的(逻辑关系),即数据的逻辑结构。
3.数据的逻辑结构可用一个二元B=(K,R)来表示,其中K表示(数据元素集合),R表示(数据元素之间的前后关系)。
4.数据元素之间的关系有4种基本的存储表示方法,即(集合)、(线性结构)、(树)和(图)。
5.数据的运算中,(移位)是一个很重要的运算过程,插入、删除、修改和排序都包含着这种运算。
6.线性表是一种最简单、最常用的数据结构,通常一个线性表是由n 个性质相同的数据元素组成的(有限序列),其长度即线性表中元素的个数n,当n=0时,称为(空表)。
7.线性表是一种(线性)结构。
8.如果线性表中最常用的操作是存取第i个元素及其前驱的值,则采用(双向链表)存储方式节省时间。
数据结构第6章作业参考答案
![数据结构第6章作业参考答案](https://img.taocdn.com/s3/m/3d908f0c53d380eb6294dd88d0d233d4b04e3f48.png)
第6章图一、选择题1、设有6个结点的无向图,该图至少应有( A )条边才能确保是一个连通图。
A.5B.6C.7D.82、若非连通无向图G含有21条边,则G的顶点个数至少为( B )。
A.7 B.8 C.21 D.223、一个有n个顶点的连通无向图,其边的个数最少为(B )。
A. nB. n-1C. n+1D. nlog2n4、设有向图的顶点个数为n,则该图最多有( B )条弧。
A.n-1 B.n(n-1) C.n(n+1) D. n25、对下面给定的有向图,从顶点1出发,其深度优先搜索序列为(A )。
A. 1,2,5,3,4B. 1,2,4,3,5C. 1,4,3,2,5D. 1,2,3,4,56、具有10个顶点的连通图的深度优先生成树,其边数为(B )。
A. 11B. 9C. 10D. 87、下列说法不正确的是(C )。
A. 图的广度遍历适用于有向图B. 无向图的邻接矩阵是对称矩阵C. 图的深度遍历不适用于有向图D. 图的深度遍历是一个递归过程8、下列说法中正确的是(D )。
A. 一个具有n个顶点的无向完全图的边数为n(n-1)B. 连通图的生成树是该图的一个极大连通子图C. 图的深度优先搜索是一个非递归过程D. 非连通图遍历过程中,每调用一次深度优先搜索算法都得到该图的一个连通分量9、对于有向图,其邻接矩阵表示相比邻接表表示更易于进行的操作为(C )。
A. 求一个顶点的邻接点B. 深度优先遍历C. 求一个顶点的度D. 广度优先遍历10、下列说法正确的是( C )。
A. 图的广度遍历不适用于有向图B. 有向图的邻接矩阵是对称矩阵C. 图的深度遍历适用于有向图D. 图的广度遍历是一个递归过程11、连通网的最小生成树是其所有生成树中(A )。
A. 边权值之和最小的生成树B. 边集最小的生成树C. 顶点权值之和最小的生成树D. 顶点集最小的生成树12、有n个顶点的连通图G的最小生成树有(B )条边。
数据结构第六章树和二叉树习题及答案
![数据结构第六章树和二叉树习题及答案](https://img.taocdn.com/s3/m/82b48b1b7cd184254b3535bc.png)
习题六树和二叉树一、单项选择题1.以下说法错误的是 ( )A.树形结构的特点是一个结点可以有多个直接前趋B.线性结构中的一个结点至多只有一个直接后继C.树形结构可以表达(组织)更复杂的数据D.树(及一切树形结构)是一种"分支层次"结构E.任何只含一个结点的集合是一棵树2.下列说法中正确的是 ( )A.任何一棵二叉树中至少有一个结点的度为2B.任何一棵二叉树中每个结点的度都为2C.任何一棵二叉树中的度肯定等于2D.任何一棵二叉树中的度可以小于23.讨论树、森林和二叉树的关系,目的是为了()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+M37.一棵完全二叉树上有1001个结点,其中叶子结点的个数是()A. 250 B. 500 C.254 D.505 E.以上答案都不对8. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )A.不确定 B.2n C.2n+1 D.2n-19.二叉树的第I层上最多含有结点数为()A.2I B. 2I-1-1 C. 2I-1 D.2I -110.一棵二叉树高度为h,所有结点的度或为0,或为2,则这棵二叉树最少有( )结点A.2h B.2h-1 C.2h+1 D.h+111. 利用二叉链表存储树,则根结点的右指针是()。
A.指向最左孩子 B.指向最右孩子 C.空 D.非空12.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为()。
数据结构第六章作业及答案
![数据结构第六章作业及答案](https://img.taocdn.com/s3/m/2b1913ec0242a8956bece44f.png)
3、试分别画出具有3个结点的树和3个结点的二叉树 的所有不同形态。 4、对右图所示的二叉树求出 A 以下的遍历序列: B C (1)先序序列 D E F (2)中序序列 (3)后序序列 G H 5、假设一棵二叉树的先序序列为 EBADCFHGIKJ 和 中序序列为 ABCDEFGHIJK。请画出该树,并给 出后序序列。 6、假设一棵二叉树的中序序列为 DCBGEAHFIJK和 后序序列为 DCEGBFHKJIA 。请画出该树,并给 出先序序列。
2
7、将以下森林转换成二叉树。
A
B
C
D
E F G J I
H
L K
3
8、画出和下列二叉树相应的森林。
(a)
A
(b) (c)
A B C
(d)
A B C B C D B
(e)
A
C E F
A
G
J
H
K M
I
4
第六章作业解答 1、(1) M、N、D、L、F、J、K是叶子结点
(2) C是结点G的双亲 (3) A、C是结点G的祖先 (4) I、M、N是结点E的子孙 (5) 树的深度是5 2、(1)二叉树与树的区别: 二叉树的一个结点至多有2个子树,树则不然; 二叉树的一个结点有左、右之分,而树则没有此要求 (2)一棵度为2的树有2个分支,没有左、右之分, 一棵二叉树也可以有2个分支,但有左、右之分, 且左、右不能交换。 3、具有3个结点的树的形态为:
C D
E
F
K
7
7、解:转换后的二叉树为:
A B C D E F G J K I L H
8
8、解:转换后的森林为: (a) (b) (c)
A A B A B C
数据结构_第六章_图_练习题与答案详细解析(精华版)
![数据结构_第六章_图_练习题与答案详细解析(精华版)](https://img.taocdn.com/s3/m/c09bbd3cd1f34693dbef3e0e.png)
图1. 填空题⑴ 设无向图G中顶点数为n,则图G至少有()条边,至多有()条边;若G为有向图,则至少有()条边,至多有()条边。
【解答】0,n(n-1)/2,0,n(n-1)【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。
⑵ 任何连通图的连通分量只有一个,即是()。
【解答】其自身⑶ 图的存储结构主要有两种,分别是()和()。
【解答】邻接矩阵,邻接表【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。
⑷ 已知无向图G的顶点数为n,边数为e,其邻接表表示的空间复杂度为()。
【解答】O(n+e)【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为O(n+2e)=O(n+e)。
⑸ 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是()。
【解答】求第j列的所有元素之和⑹ 有向图G用邻接矩阵A[n][n]存储,其第i行的所有元素之和等于顶点i的()。
【解答】出度⑺ 图的深度优先遍历类似于树的()遍历,它所用到的数据结构是();图的广度优先遍历类似于树的()遍历,它所用到的数据结构是()。
【解答】前序,栈,层序,队列⑻ 对于含有n个顶点e条边的连通图,利用Prim算法求最小生成树的时间复杂度为(),利用Kruskal 算法求最小生成树的时间复杂度为()。
【解答】O(n2),O(elog2e)【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。
⑼ 如果一个有向图不存在(),则该图的全部顶点可以排列成一个拓扑序列。
【解答】回路⑽ 在一个有向图中,若存在弧、、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为()。
【解答】vi, vj, vk【分析】对由顶点vi, vj, vk组成的图进行拓扑排序。
数据结构第六章习题
![数据结构第六章习题](https://img.taocdn.com/s3/m/2cc8ec59f4335a8102d276a20029bd64793e6276.png)
数据结构第六章习题
一、选择题
1.求最小生成树的Kruskal算法是一种( )
A.动态规划算法
B.广度优先算法
C.深度优先算法
D.贪心算法
2.在求最短路径的Dijkstra算法中,用来标记顶点是否已经找到最短路径的标记位为( )
A. mark
B. tag
C. flag
D. sign
3.在Dijkstra算法中,初始只将( )加入集合S
A.顶点v
B.顶点v的邻接点
C.顶点v及其邻接点
D.无
4.广义表的抽象数据类型中,判别表示空表的标志位为()
A. head
B. node
C. tail
D. atom
5.静态链表所有分量的数据域统一为()
A. link
B. head
C. data
D. tail
二、填空题
1.在无向图中,任意两点之间只有一条边,则此图称为。
2.求最小生成树的Prim算法的复杂度是。
3.在广义表的抽象数据类型的表示中,一个表示空表的标志位可由一个来表示。
4.串的匹配过程中,用来表示字符串中其中一段字符串的模式串,
用来表示字符串中其它段字符串的模式串。
5.使用栈来求解汉诺塔问题的要点是:先将n-1个盘子从x移到y 上,再将最底下的大盘子从x移到z上,最后将y上n-1个盘子移到z上,如此循环。
三、问答题
1.请介绍二叉树的数据结构及其特点?
二叉树是树结构的一种,其特点是在树中任何一个非叶子节点都有不
超过两个子节点。
6数据结构作业答案第6章二叉树作业答案.docx
![6数据结构作业答案第6章二叉树作业答案.docx](https://img.taocdn.com/s3/m/e74e83d00722192e4436f654.png)
第6章树和二叉树自测卷解答姓名___________ 班级______________题号一二三四五六总分题分101511202024100得分一、下面是有关二叉树的叙述,请判断正误(每小题1分,共10分)(7)1.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有辽个非空指针域。
(即有n+1个空指针)(X ) 2.二叉树中每个结点的两棵子树的高度差等于1。
说明:只有平衡二叉树仅符合子树高度差<=1(V ) 3.二叉树中每个结点的两棵子树是有序的。
(X ) 4.二叉树中每个结点有两棵非空子树或有两棵空子树。
(X ) 5.二叉树中每个结点的关键字值大于其左非空子树(若存在的话)所有结点的关键字值,且小于其右非空子树(若存在的话)所有结点的关键字值。
(应当是二叉排序树的特点)(X )6.二叉树中所有结点个数是其中k是树的深度。
(应2口)(X )7.二叉树中所有结点,如果不存在非空左子树,则不存在非空右子树。
(应完全二叉树)(X ) &对于一棵非空二叉树,它的根结点作为第一层,则它的第i层上最多能有£—1个结点。
(应2")(V )9.用二叉链表法(link-rlink)存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(正确。
用二叉链表存储包含n个结点的二叉树,结点共有2n个链域。
由于二叉树中,除根结点外,每一个结点有且仅有一个双亲,所以只有n-1个结点的链域存放指向非空子女结点的指针,还有n+1个空指针。
)即有后继链接的指针仅n-1个。
(V )10. K01年计算机系研题]]具有12个结点的完全二叉树有5个度为2的结点。
最快方法:用叶子数=[n/2]=6,再求n2=n()-l=5问:具有13个结点的完全二叉树有几个度为2的结点?二、填空(每空1分,共15分)1.由3个结点所构成的二叉树有_ 种形态。
0'2.【计算机研2000】一棵深度为6的满二叉树有也+也=0+匹=n曰=31个分支结点和2“ =32个叶子。
数据结构第六章 树和二叉树课后习题答案
![数据结构第六章 树和二叉树课后习题答案](https://img.taocdn.com/s3/m/42e85484ec3a87c24028c4e2.png)
第六章课后习题6、1、各层的结点数目是:K2、编号为n的结点的双亲结点是:<=(n-2)/k的最大整数3、编号为n的结点的第i个孩子结点编号是:k*(n-1)+1+i4、编号为n的结点有右兄弟的条件是:(n-1)能被k整除右兄弟的编号是:n+1.7、1、先序序列和中序序列相同:空二叉树或没有左子树的二叉树。
2、中序序列和后序序列相同:空二叉树或没有右子树的二叉树。
3、先序序列和后序序列相同:空二叉树或只有根的二叉树。
9、中序序列:BDCEAFHG和后序序列:DECBHGFA的二叉树为:AB FC GD E H先序序列:ABCDEFGH算法设计:3、typedef struct{int data[100];int top;}seqstack;seqstack *s;Perorder(char a[],int n){int i=1,count=1;s->top=-1;if(n==0)return(0);else{if(I<=n){s->top++;s->data[s->top]=a[I];}while(count<n){printf(“%c”,s->data[s->top]);count++;s->top--;if(s->data[s->top]);==a[i]){ printf(“%c”,s->data[s->top]);count++;s->top--;}if((2*i+1)<n){i=2*i;s->top++;s->data[s->top]=a[i+1];s->top++;s->data[s->top]=a[i];}else if(a*i<n){i=2*i;s->top++;s->data[s->top]=a[i];}else if(i/2%2==1)i=i/2/2+1;else i=i/2+1;}}}main(){char A[]=“kognwyuvb”;int n=strlen(A);s=(seqstack *)malloc(sizeof(seqstack)); printf(“\n”);Perorder(A,n);}。
数据结构课后练习 - 第6章
![数据结构课后练习 - 第6章](https://img.taocdn.com/s3/m/fb0cb283680203d8ce2f24f0.png)
A 3. 根据树的定义,具有3个结点的树有_______种树形。
二、单项选择题
C 4. 节点前序为ABC的不同二叉树________形态。 A. 3 A. 5 B. 4 B. 6 C. 5 C. 7 D. 6 D. 8 B 5. 具有35个结点的完全二叉树的深度为_________。
三、填空题
结点拥有子树个数 1. 在树的定义中,结点的度是____________________ ; 度为0的结点 叶子结点是____________________ ;树的度是 树中所有结点的最大值 ____________________;树中结点的最大层次称为树 深度/高度 的____________________。 最短 2. 哈夫曼树的带权路径长度_____________的二叉树。 3. 某二叉树的前序遍历序列为DABEC,中序遍历序列为 EBCAD DEBAC,则后序遍历序列为____________________。
① 画出这棵树的形态。
② 写出该树后序遍历的结点访问顺序。
a
b c
后序遍历:
gdbehfca
d
g
e
h
f
5. 设树T的度为4,其中度为1,2,3,4的结点个数分别为4, 2,1,1。问T中有多少个叶子结点? 利用树的性质:各结点射出的分支总数+1=总结点数
① 树T中,各个结点射出的分支总数: 4×1 + 2×2 + 1×3 + 1×4 = 15
2. 给定一个权集W={4,5,7,8,6,12,18},请画出相应的哈夫曼 树,并计算其带权路径长度WPL。 60 35 17 8 4 9 5 18 12 6 25 13 7 WPL = 8×3 + (4 + 5)×4 + 18×2 + 12×2 + (6+7)×3 = 159 树型不唯一,但最小WPL值是唯 一的。