- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程chap07图
算法实现 图用带权邻接矩阵存储ad[][] 数组dist[]存放当前找到的从源点V0到每个终点的最短路径长度,其初态为图中直接路径权值 数组pre[]表示从V0到各终点的最短路径上,此顶点的前一顶点的序号;若从V0到某终点无路径,则用0作为其前一顶点的序号 算法描述 算法实现 图用邻接矩阵存储 length[][]存放最短路径长度 path[i][j]是从Vi到Vj的最短路径上Vj前一顶点序号 算法描述 练习 图的广度优先搜索类似于树的( )次序遍历。 A.先根 B.中根 C.后根 D.层次 具有n个顶点的有向无环图最多可包含( )条有向边。 A. n-1 B. n C. n(n-1)/2 D. n(n-1) 任何一个无向连通图的最小生成树( )。 A.只有一棵 B.有一棵或多棵 C.一定有多棵 D.可能不存在 填空题 设图G=(V,E),V={1,2,3,4},E={l,2,1,3,2,4,3,4},从顶点1出发,对图G进行广度优先搜索的序列有_____种。 有向图G用邻接矩阵A[1..n,1..n]存储,矩阵中元素值1代表有弧,0代表无弧,其第i行的所有元素之和等于顶点i的__________度。 练习 一个连通图的生成树是该图的________连通子图。若这个连通图有n个顶点,则它的生成树有_________条边。 在用于表示有向图的邻接矩阵中(矩阵中元素值1代表有弧,0代表无弧),对第i行的元素进行累加,可得到第i个顶点的__________度。 设图G=(V,E),V={1,2,3,4,5,6},E={1,2,1,3,2,5,3,6,6,5,5,4,6,4}。请写出图G中顶点的所有拓扑序列。 已知一个图的顶点集V和边集G分别为: V={0,1,2,3,4,5,6,7}; G={(0,1)3,(0,3)5,(0,5)18,(1,3)7,(1,4)6,(2,4)10, (2,7)20,(3,5)15,(3,6)12,(4,6)8,(4,7)12}; 按照普里姆算法从顶点2出发得到最小生成树,试写出 在最小生成树中依此得到的各条边。 已知一个带权图的顶点集V和边集G分别为: V={0,l,2,3,4,5,6}; G ={(0,1)19,(0,2)10,(0,3)14,(1,2)6, (1,5)5,(2,3)26,(2,4)15,(3,4)18, (4,5)6,(4,6)6,(5,6)12}; 试根据迪克斯特拉(Dijkstra)算法求出从顶点0到其余各 项点的最短路径,在下面填写对应的路径长度。 顶点: 0 1 2 3 4 5 6 路径长度: * Kruskal算法是从当前边集的最短边出发,这里要考虑到边的排序,排序复杂度为O(nlogn) * * * * * 若生成树的根有两棵或两棵以上的子树,则此根顶点必为关节点。因为图中不存在连接不同子树顶点的边,若删除此节点,则树便成为森林。 若生成树中某个非叶子顶点V,其某棵子树的根和子树中的其他节点均没有指向V的祖先的回边,则V为关节点。因为删去v,则其子树和图的其它部分被分割开来 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 求每一对顶点之间的最短路径 弗洛伊德算法的基本思想是: 从 vi 到 vj 的所有可能存在的路径中,选出一条长度最短的路径。 若vi,vj存在,则存在路径{vi,vj} // 路径中不含其它顶点 若vi,v1,v1,vj存在,则存在路径{vi,v1,vj} // 路径中所含顶点序号不大于1 若{vi,…,v2}, {v2,…,vj}存在, 则存在一条路径{vi, …, v2, …vj} // 路径中所含顶点序号不大于2 … 依次类推,则 vi 至 vj 的最短路径应是上述这些路径中,路径长度最小者。 例 1 3 2 2 6 4 3 11 初始: 0 4
原创力文档


文档评论(0)