1、数据结构复习资料全数据结构(本)课程作业作业3(本部分作业覆盖教材第6-7章的内容)一、单项选择题1.假定一棵二叉树中,双分支结点数为15,单分支结点数为30,则叶子结点数为( )。A15 B16 C17 D472二叉树第k层上最多有( )个结点。 A2k B2k-1 C2k-1 D2k-1 3二叉树的深度为k,则二叉树最多有( )个结点。A2k B2k-1C2k-1 D2k-14. 设某一二叉树先序遍历为abdec,中序遍历为dbeac,则该二叉树后序遍历的顺序是( )。 Aabdec Bdebac Cdebca Dabedc5树最适合于用来表示( )。A线性结构的数据 B顺序结构的数据 C
2、元素之间无前驱和后继关系的数据 D元素之间有包含和层次关系的数据 6设a,b为一棵二叉树的两个结点,在后续遍历中,a在b前的条件是( )。Aa在b上方 Ba在b下方 Ca在b左方 Da在b右方7权值为1,2,6,8的四个结点构成的哈夫曼树的带权路径长度是( )。A18 B28 C19 D298将含有150个结点的完全二叉树从根这一层开始,每一层从左到右依次对结点进行编号,根结点的编号为1,则编号为69的结点的双亲结点的编号为( )。A33 B34 C35 D369如果将给定的一组数据作为叶子数值,所构造出的二叉树的带权路径长度最小,则该树称为( )。A哈夫曼树 B平衡二叉树 C二叉树 D完全二
3、叉树10下列有关二叉树的说法正确的是( )。A二叉树中度为0的结点的个数等于度为2的结点的个数加1B二叉树中结点个数必大于0C完全二叉树中,任何一个结点的度,或者为0或者为2 D二叉树的度是211在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( )。A4 B5 C6 D712在一棵度具有5层的满二叉树中结点总数为( )。A31 B32 C33 D1613. 利用n个值作为叶结点的权生成的哈夫曼树中共包含有( )个结点。 A. n B. n+1 C. 2*n D. 2*n-1 14. 利用n个值作为叶结点的权生成的哈夫曼树中共包含有( )个双支结点。 A.
4、n B. n-1 C. n+1 D. 2*n-1 15. 利用3、6、8、12这四个值作为叶子结点的权,生成一棵哈夫曼树,该树中所有叶子的最长带权路径长度为( )。 A. 18 B. 16 C. 12 D. 3016在一棵树中,( )没有前驱结点。A分支结点 B叶结点 C树根结点 D空结点17在一棵二叉树中,若编号为i的结点存在右孩子,则右孩子的顺序编号为( )。 A2i B2i-1 D2i+1 C2i+2 18设一棵哈夫曼树共有n个叶结点,则该树有( )个非叶结点。 An Bn-1 Cn+1 D2n19设一棵有n个叶结点的二叉树,除叶结点外每个结点度数都为2,则该树共有( )个结点。 A2n
5、 B2n-1 C2n+1 D2n+2 20一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。 A20 B21 C23 D3021在一个图G中,所有顶点的度数之和等于所有边数之和的( )倍。 A1/2 B1 C2 D4 22在一个有像图中,所有顶点的入度之和等于所有顶点的出度之和的( )倍。 A邻接矩阵表示法 B邻接表表示法 C逆邻接表表示法 D邻接表和逆邻接表 23在图的存储结构表示中,表示形式唯一的是( )。 An Bn 1 Cn 1 Dn/224一个具有n个顶点的无向完全图包含( )条边。 An(n 1) Bn(n 1) C n(n 1)/2 D n(n 1)/225一个
6、具有n个顶点的有向完全图包含( )条边。 An(n 1) Bn(n 1) C n(n 1)/2 D n(n 1)/226对于具有n个顶点的图,若采用邻接矩阵表示,则该矩阵的大小为( )。 An Bn2 Cn 1 D(n 1)227对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则表头向量的大小为( )。 An Be C2n D2e28对于一个具有n个顶点和e条边的无向图,若采用邻接表表示,则所有顶点邻接表中的结点总数为( )。 An Be C2n D2e29在有向图的邻接表中,每个顶点邻接表链接着该顶点所有( )邻接点。 A入边 B 出边 C入边和出边 D 不是入边也不是出边 30在有
7、向图的逆邻接表中,每个顶点邻接表链接着该顶点所有( )邻接点。 A入边 B出边 C入边和出边 D不是入边也不是出边31邻接表是图的一种( )。 A顺序存储结构 B链式存储结构 C索引存储结构 D散列存储结构 32如果从无向图的任一顶点出发进行一次深度优先搜索即可访问所有顶点,则该图一定是( )。 A完全图 B连通图 C有回路 D一棵树33下列有关图遍历的说法不正确的是( )。A连通图的深度优先搜索是一个递归过程B图的广度优先搜索中邻接点的寻找具有“先进先出”的特征C非连通图不能用深度优先搜索法D图的遍历要求每一顶点仅被访问一次 34无向图的邻接矩阵是一个( )。 A对称矩阵 B 零矩阵 C上三
8、角矩阵 D对角矩阵35图的深度优先遍历算法类似于二叉树的( )遍历。A先序 B 中序 C后序 D层次36已知下图所示的一个图,若从顶点V1出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。 AV1V2V4V8V3V5V6V7 BV1V2V4V5V8V3V6V7 CV1V2V4V8V5V3V6V7 DV1V3V6V7V2V4V5V8二、填空题1结点的度是指结点所拥有的 。2树的度是指 。3度大于0的结点称作 或 。4度等于0的结点称作 或 。5在一棵树中,每个结点的 或者说每个结点的 称为该结点的 ,简称为孩子。6一个结点称为其后继结点的 。7具有 的结点互称为兄弟结点,简称为兄
9、弟。8每个结点的所有子树中的结点被称为该结点的 。9从根结点到该结点所经分支上的所有结点称为该结点的 。10树的深度或高度是指 。11m(m 0)棵互不相交的树的集合称为 。12度为k的树中的第i层上最多有 结点。 13深度为k的二叉树最多有 结点。14在一棵二叉树中,如果树中的每一层都是满的,则称此树为 ;但如果出最后一层外,其余层都是满的,并且最后一层是满的,或者是在缺少若干连续个结点,则称此二叉树为 。15具有n个结点的完全二叉树的深度是 。16先序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,访问二叉树的 ;先序遍历二叉树的 ,先序遍历二叉树的 。 17中序遍历
10、二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,中序遍历二叉树的 ;访问而叉树的 ,中序遍历二叉树的 。18后序遍历二叉树的的操作定义为;若二叉树为空,则为空操作,否则进行如下操作,后序遍历二叉树的 ;后序遍历二叉树的 ,访问而叉树的 。19将树中结点赋上一个有着某种意义的实数,称此实数为该结点的 。20树的带权路径长度为树中所有叶子结点的 。21哈夫曼树又称为 ,它是n个带权叶子结点构成的所有二叉树中带权路径长度WPL 。22若以4,5,6,7,8作为叶子结点的权值构造哈夫曼树,则其带权路径长度是 。23具有m个叶子结点的哈夫曼树共有 结点。24在图中,任何两个数据元素之间
11、都可能存在关系,因此图的数据元素之间是一种 的关系。25图的邻接矩阵表示法是用一个 来表示图中顶点之间的相邻关系。26邻接表是图中的每个顶点建立一个邻接关系的 。27图的遍历是从图的某一顶点出发,按照一定的搜索方法对图中 各做 访问的过程。28图的深度优先搜索遍历类似于树的 遍历。29图的广度优先搜索类似于树的 遍历。30具有n个顶点的有向图的邻接矩阵,其元素个数为 。30具有n个顶点的无向图至少有 条边,才能确保其为一个连通图。31图常用的两种存储结构是 和 。32一个AOV网(顶点活动图)应该是一个 。即不应该带有回路,否则回路上的所有活动都 。33用邻接矩阵存储有向图G,其第i行的所有元
12、素之和等于顶点i的 。34在有n个顶点的有向图中,每个顶点的度最大可达 。35在一个带权图中,两顶点之间的最段路径最多经过 条边。36为了实现图的深度优先搜索遍历,其非递归的算法中需要使用的一个辅助数据结构为 。三、综合题1写出如下图所示的二叉树的先序、中序和后序遍历序列。2已知某二叉树的先序遍历结果是:A,B,D,G,C,E,H,L,I,K,M,F和J,它的中序遍历结果是:G,D,B,A,L,H,E,K,I,M,C,F和J,请画出这棵二叉树,并写出该二叉树后续遍历的结果。3已知一棵完全二叉树共有892个结点,求 树的高度 叶子结点数 单支结点数 最后一个非终端结点的序号4给出满足下列条件的所
13、有二叉树。(1)先序和中序相同(2)中序和后序相同(3)先序和后序相同5假设通信用的报文由9个字母A、B、C、D、E、F、G、H和I组成,它们出现的频率分别是:10、20、5、15、8、2、3、7和30。请请用这9个字母出现的频率作为权值求:(1)设计一棵哈夫曼树;(2)计算其带权路径长度WPL;(3)写出每个字符的哈夫曼编码。6请根据以下带权有向图G(1)给出从结点v1出发分别按深度优先搜索遍历G和广度优先搜索遍历G所得的结点序列;(2)给出G的一个拓扑序列;(3)给出从结点v1到结点v8的最短路径。7已知无向图G描述如下:G=(V,E)V=V1,V2,V3,V4,V5E=(V1,V2),(
14、V1,V4),(V2,V4),(V3,V4),(V2,V5),(V3,V4),(V3,V5)(1)画出G的图示;(2)然后给出G的邻接矩阵和邻接表;(3)写出每个顶点的度。8回答下列问题:对于存储结构采用邻接矩阵的无向图,如何判断下列有关问题?图中有多少条边?任意两顶点间是否有边相连?任意一个顶点的度是多少?对于存储结构采用邻接表的有向图,如何判断下列有关问题?图中有多少条边?图中是否存在从Vi到Vj的边?如何求顶点Vi的入度和出度?四、程序填空题1. 下面函数的功能是返回二叉树BT中值为X的结点所在的层号,请在划有横线的地方填写合适内容。 int NodeLevel(struct BinTr
15、eeNode* BT, char X) if(BT=NULL) return 0; /*空树的层号为0*/ else if(BT-data=X) return 1; /*根结点的层号为1*/ /*向子树中查找X结点*/ else int c1=NodeLevel(BT-left,X); if(c1=1) _(1)_; int c2=_(2)_ _; if _(3)_; /若树中不存在X结点则返回0 else return 0; 2. 下面函数的功能是按照图的深度优先搜索遍历的方法,输出得到该图的生成树中的各条边,请在划有横线的地方填写合适内容。 void dfstree(adjmatrix G
16、A, int i, int n) int j; visitedi=1; (1) if(GAij!=0 & GAij!=MaxValue & !visitedj) printf(%d,%d)%d,i,j,GAij); (2) 五、算法设计题1写一个将一棵二叉树复制给另一棵二叉树的算法。 2根据下面函数声明编写出求一棵二叉树中叶子结点总数的算法,该总数值由函数返回。假定参数BT初始指向二叉树的根结点。 int BTreeLeafCount(struct BTreeNode* BT);3已知有n个顶点的有向图邻接表,设计算法分别实现下列功能:(1)求出图G中每个顶点的出度、入度。(2)计算图中度为0的顶点数。六、完成:实验3栈、队列、递归程序设计 实验4图的存储方式和应用根据实验要求(见教材P203)认真完成本实验,并提交实验报告。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1