- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
算法描述: void BreadthFirstSearch(Graph g, int v0) {visit(v0); visited[v0]=True; InitQueue(Q); EnterQueue(Q, v0); while ( ! Empty(Q)) { DeleteQueue(Q, v); w=FirstAdj(g, v); while (w! =-1 ) { if (!visited(w)) { visit(w); visited[w]=True; EnterQueue(Q, w); } w=NextAdj(g, v, w); } } } 算法思想: ①首先访问v0并置访问标志,然后将v0入队; ②只要队不空,则重复下述处理: Ⅰ队头结点v出对; Ⅱ对v的所有邻接点w,如果w未被访问,则访问w并置访问标志,然后将w入队。 算法时间复杂度: 采用邻接矩阵方式存储时为O(n^2); 采用邻接表方式存储时为O(n+e)。 (2)广度优先搜索连通子图的算法 (3)邻接矩阵存储方式下图的广度优先搜索算法 void BFSTraverse(AdjMatrix G,int v0) {for(v=0;vG.vexnum;v++) visited[v]=FALSE; InitQueue(Q); for(v=0;vG.vexnum;v++) {if(!visited[v]) {visit(G.vexs[v]); visited[v]=TRUE; EnQueue(Q,v); while(!EmptyQueue(Q)) {DeQueue(Q,u); for(w=firstAdjVex(G,G.vexs[u]);w=0; w=NextAdjVex(G,G.vexs[u],G.vexs[w])) if(!visited[w]) {visit(G.vexs[w]); visited[w]=TRUE; EnQueue(Q,w); } }//while }//if }//for } (4)采用邻接表实现的BreadthFirstSearch的动画演示 广度优先遍历序列?入队序列?出队序列? V1 V3 V2 V4 V5 V6 V7 V8 遍历序列: V1 V1 (5)非递归实现过程图示 广度优先遍历序列?入队序列?出队序列? V1 V3 V2 V4 V5 V6 V7 V8 遍历序列: V1 V2 V2 V3 V3 广度优先遍历序列?入队序列?出队序列? V1 V3 V2 V4 V5 V6 V7 V8 遍历序列: V1 V2 V3 V3 V4 V4 V5 V5 广度优先遍历序列?入队序列?出队序列? V1 V3 V2 V4 V5 V6 V7 V8 遍历序列: V1 V2 V3 V4 V4 V5 V5 V6 V6 V7 V7 广度优先遍历序列?入队序列?出队序列? V1 V3 V2 V4 V5 V6 V7 V8 遍历序列: V1 V2 V3 V4 V5 V5 V6 V6 V7 V7 V8 V8 (1)无向图的连通性 要想判定一个无向图是否为连通图,或求其有几个连通分量,可以通过对无向图的遍历得到结果。 连通图:仅需从图中任一顶点出发,进行深度优先搜索(或广度优先搜索),便可访问到图中所有顶点; 非连通图:需从多个顶点出发进行搜索,而每一次从一个新的起始点出发进行搜索过程中得到的顶点访问序列恰为其各个连通分量中的顶点集。 7.4 图的连通性问题 图的连通分量 1 (2)有向图的连通性 ① 从某顶点出发进行深度优先遍历,并按其所有邻接点都访问(即出栈)的顺序将顶点排列起来; ② 从最后完成访问的顶点出发,沿着以该顶点为头的弧作逆向的深度优先遍历。若不能访问到所有顶点,则从余下的顶点中最后访问的那个顶点出发,继续作逆向的深度优先遍历,直至有向图中所有顶点都被访问到为止; ③ 每一次逆向深度优先遍历所访问到的顶点集便是该
您可能关注的文档
最近下载
- 2025年甘肃省武威市凉州区发放镇招聘专业化管理大学生村文书笔试备考试题及答案解析.docx VIP
- 中国宫腔镜诊断与手术临床实践指南(2023年).pptx VIP
- 2025年法律职业资格(客观题)真题含答案.docx VIP
- 展板版式设计.ppt VIP
- 2025年全国司法考试客观题试卷及答案.docx VIP
- 职能科室对医技科室医疗质量督查记录表(检验科、放射科、超声科、功能科、内镜室).pdf VIP
- 中国宫腔镜诊断与手术临床实践指南(2023版).pptx VIP
- 血透患者心理健康宣教ppt.pptx
- 【新教材】英语必修第二册(新人教版)教材习题参考答案.pdf VIP
- 手机数据恢复精灵误删信息轻松恢复.PDF VIP
文档评论(0)