数据构图的遍历.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据构图的遍历

* * 7.1图的定义和术语 7.2 图的存储结构 7.3 图的遍历 7.4 图的连通性问题 7.5 有向无环图及其应用 7.6 最短路径 7.3 图的遍历 从图中某个顶点出发游历图,访遍 图中其余顶点,并且使图中的每个顶点 仅被访问一次的过程。 图的遍历算法是求解图的连通性问题、拓朴排序和关键路径等算法的基础。 图的遍历要比树的遍历复杂的多。由于图的任一顶点都可能与其余顶点相邻接,故在访问了某各顶点之后, 可能顺着某条边又访问到已访问过的顶点。例如:对于图7.1的G4,它的每个顶点都与其余三个顶点向邻接。 在访问了v1,v2和v3之后,顺着边(v3,v1)又会访问到v1。因此在遍历图的过程中,必须记下 每个被访问到的顶点,以免同一个顶点被访问多次。为此,对每个顶点引进一个辅助函数visited(w), 用以标志顶点是否被访问过,其初态为零,一旦顶点w被访问过,则visited(w)=1。 深度优先搜索 广度优先搜索 从图中某个顶点V0 出发,访问此顶点,然后依次从V0的各个未被访问的邻接点出发深度优先搜索遍历图,直至图中所有和V0有路径相通的顶点都被访问到。 一、深度优先搜索遍历图 连通图的深度优先搜索遍历 SG1 SG2 SG3 W1、W2和W3 均为 V 的邻接点,SG1、SG2 和 SG3 分别为含顶点W1、W2和W3 的子图。 访问顶点 V ; for (W1、W2、W3 ) 若该邻接点W未被访问, 则从它出发进行深度优先搜索遍历。 V w1 w3 w2 从上页的图解可见: 1. 从深度优先搜索遍历连通图的过程类似于树的先根遍历; 解决的办法是:为每个顶点设立一个 “访问标志 visited[w]”; 2. 如何判别V的邻接点是否被访问? 用深度优先搜索法遍历图 从v1出发,一种可能的顶点访问顺序为v1,v2,v4,v8,v5,v6, v3,v7。显然,这个遍历过程是一个递归过程。现在来考虑深度优先搜索的递归算法。 void DFS(Graph G, int v) { // 从顶点v出发,深度优先搜索遍历连通图 G visited[v] = TRUE; VisitFunc(v); for(w=FirstAdjVex(G, v); w!=0; w=NextAdjVex(G,v,w)) if (!visited[w]) DFS(G, w); // 对v的尚未访问的邻接顶点w // 递归调用DFS } // DFS 首先将图中每个顶点的访问标志设为 FALSE, 之后搜索图中每个顶点,如果未被访问,则以该顶点为起始点,进行深度优先搜索遍历,否则继续检查下一顶点。 非连通图的深度优先搜索遍历 void DFSTraverse(Graph G, Status (*Visit)(int v)) { // 对图 G 作深度优先遍历。 VisitFunc = Visit; for (v=0; vG.vexnum; ++v) visited[v] = FALSE; // 访问标志数组初始化 for (v=0; vG.vexnum; ++v) if (!visited[v]) DFS(G, v); // 对尚未访问的顶点调用DFS } a b c h d e k f g 8 1 2 3 4 5 6 7 0 F F F F F F F F F 0 1 2 3 4 5 6 7 8 T T T T T T T T T a c h d k f e b g a c h k f e d b g 访问标志: 访问次序: 例如: a c h d k f e

文档评论(0)

130****9768 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档