- 1、本文档共99页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 图;【重点掌握】:
图的两种遍历方法:遍历的定义、深度优先搜索遍历和广度优先搜索遍历的算法;
应用图的遍历算法判断图的连通性及求图的生成树;
用Prim、Kruskal算法求图的最小生成树;
用Dijkstra算法求解单源最短路径问题;用Floyd算法求所有顶点间的最短路径问题;
利用AOV网进行拓扑排序;利用AOE网求关键路径问题;
【掌 握】:
掌握图的定义和术语;
图的各种存储结构及其构造算法、在实际问题中的求解效率。;7.3 图的遍历; 图的遍历方法有深度优先遍历和广度优先遍历两种。;;void DFS(Graph G, int v)
{/* 从第v个顶点出发,递归地深度优先遍历图G*/
/* v是顶点在一维数组中的位置,假设G是非空图*/
visited[v] =1;
Visit(v); /*访问第v个顶点*/
for ( w=FirstAdjVex(G, v); w; w=NextAdjVex(G, v, w) )
if (!visited[w]) DFS(G, w);
/*对v的尚未访问的邻接??点w递归调用DFS*/
};7.3 图的遍历;void DFSAL(ALGraph G, int i)
{/*从第v个顶点出发,递归地深度优先遍历图G*/
/* v是顶点的序号,假设G是用邻接表存储*/
EdgeNode *p; int w;
visited[i] =1; Visit(i); /*访问第v个顶点*/
for (p=G.vertices[i].firstarc;p;p=p-nextarc)
{w=p-adjvex; /*w是v的邻接顶点的序号*/
if (!visited[w]) DFSAL(G, w);
/*若w尚未访问, 递归调用DFS*/
}
}/*DFSAL*/; 在遍历时,对图中每个顶点至多调用一次DFS函数,因为一旦某个顶点被标志成已被访问,就不再从它出发进行搜索。因此,遍历图的过程实质上是对每个顶点查找其邻接点的过程。其耗费的时间则取决于所采用的存储结构。
用邻接矩阵做图的存储结构时,查找各个顶点的邻接点所需的时间为O(n2),其中n为图中顶点数。当以邻接矩阵做存储结构时,深度优先搜索遍历图的时间复杂度为O(n2+n)。
当以邻接表做图的存储结构时,找邻接点所需时间为O(e),其中e为无向图中边的数或有向图中弧的数。因此,当以邻接表做存储结构时,深度优先搜索遍历图的时间复杂度为O(n+e)。;图中某顶点v出发:
1)访问顶点v ;
2)访问v的所有未被访问的邻接点w1 ,w2 , …wk ;
3)依次从这些邻接点出发,访问它们的所有未被访问的邻接点; 依此类推,直到图中所有访问过的顶点的邻接点都被访问;;;;void BFSTraverse(MGraph G)
/*从v出发,广度优先遍历连通图G*/
/*使用辅助队列Q和访问标志数组visited*/
{ for (v=0; vG.vexnum; ++i) visited[v]=0;
InitQueue(Q, G.vexnum); /*初始化空的辅助队列Q*/
for (v=0;vG.vexnum;++v)
{if(!visited[v]) /*若v尚未访问*/
{ visited[v]=1; Visit(v); EnQueue(Q,v);
while (!QueueEmpty_Sq(Q))
{DeQueue(Q,u); /*队头元素出队,并赋值给u*/
/*访问u所有未被访问的邻接点*/
for(w=0; wG.vexnum; w++;)
if (G.arcs[u,w].adj !visited[w]) { visited[w]=1; Visit(w); EnQueue(Q,w); }
}/*while*/
}
}
}/*BFSTraverse*/;第七 章 图;7.4.1 生成树;7.4 最小的生成树;求生成树的方法:利用遍历算法。
从连通图中的任一顶点出发进行遍历时,除出发点外,其余顶点必须通过一条边才能到达,所以遍历过程中经历的边有n-1条,它和n个顶点组成了连通图的一棵生成树。
由深度优先搜索得到的是深度
您可能关注的文档
- 垃圾分类与处理.ppt
- 渔父公开课讲解.ppt
- 小清新汇报、开题报告、论文答辩模板.ppt
- 新型生物农药及其在绿色食品生产中的作用讲解.ppt
- 项目六 手动变速器的拆装.ppt
- 课题2 腐乳的制作文.ppt
- 现代检测技术电子教案-第12章.ppt
- 机械制图 画平口钳装配图.ppt
- 上海地铁各类型媒体展示.ppt
- 一年级看图写话(期末).ppt
- 国际标准 IEC 61169-47:2015 EN Radio-frequency connectors - Part 47: Sectional specification for radio-frequency coaxial connectors with clamp coupling, typically for use in 75 Ω cable networks (type F-Quick) 无线电频率连接器 - 第47部分:用于无线电频率同轴连接器的部分规范,.pdf
- 国际标准 IEC 61158-5-17:2007 EN 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素 Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements.pdf
- 国际标准 IEC 61158-5-17:2007 EN Industrial communication networks - Fieldbus specifications - Part 5-17: Application layer service definition - Type 17 elements 工业通信网络 - 现场总线规范 - 第5-17部分:应用层服务定义 - 类型17元素.pdf
- 国际标准 IEC 60939-2-2:2004 EN_D 完整抑制无线电干扰滤波器单元-第2-2部分:空白详细规范-用于抑制电磁干扰的被动滤波器单元-仅需进行安全测试的滤波器(安全测试) Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference .pdf
- 国际标准 IEC 60939-2-2:2004 EN_D Complete filter units for radio interference suppression - Part 2-2: Blank detail specification - Passive filter uits for electromagnetic interference suppression - Filters for which safety tests are required (safety.pdf
- 国际标准 IEC 60670-23:2006 EN-FR Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求.pdf
- 国际标准 IEC 60670-23:2006 EN-FR 家用和类似固定电气安装用电器配件的盒子与封闭装置——第23部分:地板箱和封闭装置的要求 Boxes and enclosures for electrical accessories for household and similar fixed electrical installations - Part 23: Particular requirements for floor boxes and enclosures.pdf
- 2024版完整的货物运输合同书.doc
- 2024版无财产的离婚协议书书模板.doc
- 2024版委托融资租赁合同书书.doc
文档评论(0)