- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构2331第6章图
Bfs (Graph g, int v) { LkQue Q; //Q为链队列 int j; InitQueue(Q); printf(“%d”,v); //v为访问的起始结点 visited[v]=1; //访问过的标志 EnQueue(Q,v); while ( !EmptyQueue(Q)) //判队列是否为空 { v=Gethead(Q); OutQueue(Q); //出队列 for (j=0;jn;j++) //n为顶点数,变化j依次尝试v的可能邻接点 { m=g-arcs[v][j]; if (m !visited[j]) //判断是否邻接点,且未被访问 { printf(“%d”,j); visited[j]=1; //置被访问标志 EnQueue(Q,j); //邻接点入队列 } } } } * * 1、判断图的连通性 对图G调用一次DFS或BFS,得到一顶点集合,然后将之与V(G)比较,若两集合相等,则图G是连通图,否则就说明有未访问过的顶点,因此图不连通。 6.3.3 求图的连通分量 * 2、求图的连通分量 从无向图的每个连通分量的一个顶点出发遍历,则可求得无向图的所有连通分量。 图遍历的一种应用 算法: void trace( Graph G ) { /*G为用邻接矩阵或邻接表表示的有n个顶点的无向图,求该图的连通分量*/ int i; for ( i=0; iN; ++i ) if (!flag[i]) { dfs(i); /*调用DFS算法的次数仅决定于连通分量个数*/ OUTPUT ;/*输出访问到的顶点和依附于这*/ /*些顶点的边,就得到一个连通分量*/ } }/*trace*/ * 一、生成树 1、生成树定义:连通图G=(V,E),从任一顶点 遍历,则图中边分成两部分: 遍历通过的边 剩下的边 (即遍历时未通过的边) E(G) = T(G)+ B(G) 则G’(V,T)为G的子图,称之为G的一棵生成树。 ●深度优先生成树:按深度优先遍历而得的生成树 ●广度优先生成树:按广度优先遍历而得的生成树 6.4 最小生成树 * 2、例: ① ③ ④ ⑤ ⑥ ⑦ ⑧ 其深度优先生成树为: 其广度优先生成树为: 注:●生成树G’是图G的极小连通子图。 即V(G)=V(G’),G’是连通的,且在G的所有连通子图中边数最少(n个顶点,n-1条边)。 ●图的生成树不是惟一的。 * 1、问题的提出: ●通讯网: 网中n个顶点——n个城市 两顶点间的边——两城市间线路 边的权——架设相应线路的费用 ●问题1:n个城市间的通讯网,至少要多少条线路? (n-1) n个城市间最少的可行的通讯线路就是—— 一棵生成树 ●问题2:选择怎样的n-1条线路,使总费用最少? 网上问题:取n-1条边,并使边权总和为最少。 最小生成树问题 二、最小生成树★ * 2、最小生成树定义 给定一个带权图,构造带权图的一棵生成树,使树中所有边的权总和为最小。 3、最小生成树的构造算法 Prim算法和kruskal算法 基本思想: 假设G=(V,E)是一个无向带权图,生成的最小生成树为MinT=(V,T),其中V为顶点的集合,T为边的集合。求T的步骤如下: 1.初始化U={u0},T={ };其中U为一个新设置的顶点的集合,初始U中只含有顶点u0,这里假设在构造最小生成树时,从顶点u0出发; 2.对所有u∈U,v∈V-U(其中u,v表示顶点)的边(u,v)中
文档评论(0)