欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构答案第6章.docx

    • 资源ID:6092076       资源大小:223.57KB        全文页数:13页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构答案第6章.docx

    1、数据结构答案第6章第 6 章 图2005-07-14第 6 章 图 课后习题讲解 1. 填空题 设无向图G中顶点数为n,则图G至少有( )条边,至多有( )条边;若G为有向图,则至少有( )条边,至多有( )条边。【解答】0,n(n-1)/2,0,n(n-1)【分析】图的顶点集合是有穷非空的,而边集可以是空集;边数达到最多的图称为完全图,在完全图中,任意两个顶点之间都存在边。 任何连通图的连通分量只有一个,即是( )。【解答】其自身 图的存储结构主要有两种,分别是( )和( )。【解答】邻接矩阵,邻接表【分析】这是最常用的两种存储结构,此外,还有十字链表、邻接多重表、边集数组等。 已知无向图G

    2、的顶点数为n,边数为e,其邻接表表示的空间复杂度为( )。【解答】(n+e)【分析】在无向图的邻接表中,顶点表有n个结点,边表有2e个结点,共有n+2e个结点,其空间复杂度为(n+2e)=(n+e)。 已知一个有向图的邻接矩阵表示,计算第j个顶点的入度的方法是( )。【解答】求第j列的所有元素之和 有向图G用邻接矩阵Ann存储,其第i行的所有元素之和等于顶点i的( )。【解答】出度 图的深度优先遍历类似于树的( )遍历,它所用到的数据结构是( );图的广度优先遍历类似于树的( )遍历,它所用到的数据结构是( )。【解答】前序,栈,层序,队列 对于含有n个顶点e条边的连通图,利用Prim算法求最

    3、小生成树的时间复杂度为( ),利用Kruskal算法求最小生成树的时间复杂度为( )。【解答】(n2),(elog2e)【分析】Prim算法采用邻接矩阵做存储结构,适合于求稠密图的最小生成树;Kruskal算法采用边集数组做存储结构,适合于求稀疏图的最小生成树。 如果一个有向图不存在( ),则该图的全部顶点可以排列成一个拓扑序列。【解答】回路 在一个有向图中,若存在弧、,则在其拓扑序列中,顶点vi, vj, vk的相对次序为( )。【解答】vi, vj, vk【分析】对由顶点vi, vj, vk组成的图进行拓扑排序。2. 选择题 在一个无向图中,所有顶点的度数之和等于所有边数的( )倍。A 1

    4、/2 B 1 C 2 D 4【解答】C【分析】设无向图中含有n个顶点e条边,则 。 n个顶点的强连通图至少有()条边,其形状是( )。A n B n+1 C n-1 D n(n-1)E 无回路F 有回路 G 环状 H 树状【解答】A,G 含n 个顶点的连通图中的任意一条简单路径,其长度不可能超过( )。A 1 B n/2 C n-1 D n 【解答】C【分析】若超过n-1,则路径中必存在重复的顶点。 对于一个具有n个顶点的无向图,若采用邻接矩阵存储,则该矩阵的大小是( )。A n B (n-1)2 C n-1 D n2【解答】D 图的生成树(),n个顶点的生成树有( )条边。A 唯一 B 不唯

    5、一 C 唯一性不能确定D n E n +1 F n-1【解答】C,F 设无向图G=(V, E)和G =(V, E ),如果G 是G的生成树,则下面的说法中错误的是( )。A G 为 G的子图 B G 为 G的连通分量C G 为G的极小连通子图且V = V D G 是G的一个无环子图【解答】B【分析】连通分量是无向图的极大连通子图,其中极大的含义是将依附于连通分量中顶点的所有边都加上,所以,连通分量中可能存在回路。 G是一个非连通无向图,共有28条边,则该图至少有( )个顶点。A 6 B 7 C 8 D 9 【解答】D【分析】n个顶点的无向图中,边数en(n-1)/2,将e=28代入,有n8,现

    6、已知无向图非连通,则n=9。 最小生成树指的是( ) 。A 由连通网所得到的边数最少的生成树B 由连通网所得到的顶点数相对较少的生成树C 连通网中所有生成树中权值之和为最小的生成树D 连通网的极小连通子图【解答】C 判定一个有向图是否存在回路除了可以利用拓扑排序方法外,还可以用( )。A 求关键路径的方法 B 求最短路径的方法C 广度优先遍历算法 D 深度优先遍历算法【解答】D【分析】当有向图中无回路时,从某顶点出发进行深度优先遍历时,出栈的顺序(退出DFSTraverse算法)即为逆向的拓扑序列。 下面关于工程计划的AOE网的叙述中,不正确的是( )?br / A 关键活动不按期完成就会影响

    7、整个工程的完成时间B 任何一个关键活动提前完成,那么整个工程将会提前完成C 所有的关键活动都提前完成,那么整个工程将会提前完成D 某些关键活动若提前完成,那么整个工程将会提前完【解答】B【分析】AOE网中的关键路径可能不止一条,如果某一个关键活动提前完成,还不能提前整个工程,而必须同时提高在几条关键路径上的关键活动。3. 判断题 一个有向图的邻接表和逆邻接表中的结点个数一定相等。【解答】对。邻接表和逆邻接表的区别仅在于出边和入边,边表中的结点个数都等于有向图中边的个数。 用邻接矩阵存储图,所占用的存储空间大小只与图中顶点个数有关,而与图的边数无关。【解答】对。邻接矩阵的空间复杂度为(n2),与

    8、边的个数无关。 图G的生成树是该图的一个极小连通子图【解答】错。必须包含全部顶点。 无向图的邻接矩阵一定是对称的,有向图的邻接矩阵一定是不对称的【解答】错。有向图的邻接矩阵不一定对称,例如有向完全图的邻接矩阵就是对称的。 对任意一个图,从某顶点出发进行一次深度优先或广度优先遍历,可访问图的所有顶点。【解答】错。只有连通图从某顶点出发进行一次遍历,可访问图的所有顶点。 在一个有向图的拓扑序列中,若顶点a在顶点b之前,则图中必有一条弧。【解答】错。只能说明从顶点a到顶点b有一条路径。 若一个有向图的邻接矩阵中对角线以下元素均为零,则该图的拓扑序列必定存在。【解答】对。参见第11题的证明。 在AOE

    9、网中一定只有一条关键路径?br /【解答】错。AOE网中可能有不止一条关键路径,他们的路径长度相同。4n个顶点的无向图,采用邻接表存储,回答下列问题?br / 图中有多少条边? 任意两个顶点i和j是否有边相连? 任意一个顶点的度是多少?br /【解答】 边表中的结点个数之和除以2。 第i个边表中是否含有结点j。 该顶点所对应的边表中所含结点个数。5n个顶点的无向图,采用邻接矩阵存储,回答下列问题: 图中有多少条边? 任意两个顶点i和j是否有边相连? 任意一个顶点的度是多少?【解答】 邻接矩阵中非零元素个数的总和除以2。 当邻接矩阵A中Aij=1(或Aji=1)时,表示两顶点之间有边相连。 计算

    10、邻接矩阵上该顶点对应的行上非零元素的个数。6证明:生成树中最长路径的起点和终点的度均为。【解答】用反证法证明。设v1, v2, , vk是生成树的一条最长路径,其中,v1为起点,vk为终点。若vk的度为2,取vk的另一个邻接点v,由于生成树中无回路,所以,v在最长路径上,显然v1, v2, , vk , v的路径最长,与假设矛盾。所以生成树中最长路径的终点的度为1。同理可证起点v1的度不能大于1,只能为1。7已知一个连通图如图6-6所示,试给出图的邻接矩阵和邻接表存储示意图,若从顶点v1出发对该图进行遍历,分别给出一个按深度优先遍历和广度优先遍历的顶点序列。【解答】邻接矩阵表示如下:深度优先遍

    11、历序列为:v1 v2 v3 v5 v4 v6广度优先遍历序列为:v1 v2 v4 v6 v3 v5邻接表表示如下:8图6-7所示是一个无向带权图,请分别按Prim算法和Kruskal算法求最小生成树。【解答】按Prim算法求最小生成树的过程如下:按Kruskal算法求最小生成树的过程如下:9对于图6-8所示的带权有向图,求从源点v1到其他各顶点的最短路径。【解答】从源点v1到其他各顶点的最短路径如下表所示。源点 终点 最短路径 最短路径长度v1 v7 v1 v7 7v1 v5 v1 v5 11v1 v4 v1 v7 v4 13v1 v6 v1 v7 v4 v6 16v1 v2 v1 v7 v2

    12、 22v1 v3 v1 v7 v4 v6 v3 2510如图6-9所示的有向网图,利用Dijkstra算法求从顶点v1到其他各顶点的最短路径。【解答】从源点v1到其他各顶点的最短路径如下表所示。源点 终点 最短路径 最短路径长度v1 v3 v1 v3 15v1 v5 v1 v5 15v1 v2 v1 v3 v2 25v1 v6 v1 v3 v2 v6 40v1 v4 v1 v3 v2 v4 4511证明:只要适当地排列顶点的次序,就能使有向无环图的邻接矩阵中主对角线以下的元素全部为0。【解答】任意n个结点的有向无环图都可以得到一个拓扑序列。设拓扑序列为v0v1v2vn-1,我们来证明此时的邻接

    13、矩阵A为上三角矩阵。证明采用反证法。假设此时的邻接矩阵不是上三角矩阵,那么,存在下标i和j(ij),使得Aij不等于零,即图中存在从vi到vj的一条有向边。由拓扑序列的定义可知,在任意拓扑序列中,vi的位置一定在vj之前,而在上述拓扑序列v0v1v2vn-1中,由于ij,即vi的位置在vj之后,导致矛盾。因此命题正确。12. 算法设计 设计算法,将一个无向图的邻接矩阵转换为邻接表。【解答】先设置一个空的邻接表,然后在邻接矩阵上查找值不为零的元素,找到后在邻接表的对应单链表中插入相应的边表结点。邻接矩阵存储结构定义如下:const int MaxSize=10;template struct A

    14、djMatrix T vertexMaxSize; /存放图中顶点的数组int arcMaxSizeMaxSize; /存放图中边的数组int vertexNum, arcNum; /图的顶点数和边数;邻接表存储结构定义如下:const int MaxSize=10;struct ArcNode /定义边表结点int adjvex; /邻接点域ArcNode *next;template struct VertexNode /定义顶点表结点T vertex;ArcNode *firstedge;struct AdjListVertexNode adjlistMaxSize;int vertex

    15、Num, arcNum; /图的顶点数和边数;具体算法如下: 设计算法,将一个无向图的邻接表转换成邻接矩阵。【解答】在邻接表上顺序地取每个边表中的结点,将邻接矩阵中对应单元的值置为1。邻接矩阵和邻接表的存储结构定义与上题相同。具体算法如下: 设计算法,计算图中出度为零的顶点个数。【解答】在有向图的邻接矩阵中,一行对应一个顶点,每行的非零元素的个数等于对应顶点的出度。因此,当某行非零元素的个数为零时,则对应顶点的出度为零。据此,从第一行开始,查找每行的非零元素个数是否为零,若是则计数器加1。具体算法如下: 以邻接表作存储结构,设计按深度优先遍历图的非递归算法。【解答】参见6.2.1。 已知一个有

    16、向图的邻接表,编写算法建立其逆邻接表。【解答】在有向图中,若邻接表中顶点vi有邻接点vj,在逆邻接表中vj一定有邻接点vi,由此得到本题算法思路:首先将逆邻接表的表头结点firstedge域置空,然后逐行将表头结点的邻接点进行转化。 分别基于深度优先搜索和广度优先搜索编写算法,判断以邻接表存储的有向图中是否存在由顶点vi到顶点vj的路径(ij)。【解答】 基于深度优先遍历: 基于广度优先遍历:学习自测及答案 1某无向图的邻接矩阵A=,可以看出,该图共有( )个顶点。A 3 B 6 C 9 D 以上答案均不正确【解答】A2无向图的邻接矩阵是一个( ),有向图的邻接矩阵是一个( )A 上三角矩阵

    17、B 下三角矩阵 C 对称矩阵 D 无规律【解答】C,D3下列命题正确的是( )。A 一个图的邻接矩阵表示是唯一的,邻接表表示也唯一B 一个图的邻接矩阵表示是唯一的,邻接表表示不唯一C 一个图的邻接矩阵表示不唯一的,邻接表表示是唯一D 一个图的邻接矩阵表示不唯一的,邻接表表示也不唯一【解答】B4十字链表适合存储( ),邻接多重表适合存储( )。【解答】有向图,无向图5. 在一个具有n 个顶点的有向完全图中包含有( )条边:A n(n-1)/2 B n(n-1) C n(n+1)/2 D n2【解答】B6n个顶点的连通图用邻接矩阵表示时,该矩阵至少有( )个非零元素。【解答】2(n-1)7表示一个

    18、有100个顶点,1000条边的有向图的邻接矩阵有( )个非零矩阵元素。【解答】10008一个具有n个顶点k条边的无向图是一个森林(nk),则该森林中必有( )棵树。A k B n C n - k D 1【解答】C9用深度优先遍历方法遍历一个有向无环图,并在深度优先遍历算法中按退栈次序打印出相应的顶点,则输出的顶点序列是( )。A 逆拓扑有序 B 拓扑有序 C 无序 D 深度优先遍历序列【解答】A10. 关键路径是AOE网中( )。A 从源点到终点的最长路径 B从源点到终点的最长路径C 最长的回路 D 最短的回路【解答】A11. 已知无向图G的邻接表如图6-10所示,分别写出从顶点1出发的深度遍历和广度遍历序列,并画出相应的生成树。【解答】深度优先遍历序列为:1,2,3,4,5,6对应的生成树为:广度优先遍历序列为:1,2,4,3,5,6对应的生成树为:12. 已知已个AOV网如图6-11所示,写出所有拓扑序列。【解答】拓扑序列为:v0 v1 v5 v2 v3 v6 v4、 v0 v1 v5 v2 v6 v3 v4、 v0 v1 v5 v6 v2 v3 v4。关闭


    注意事项

    本文(数据结构答案第6章.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开