作家
登录

数据结构与算法–图论之寻找连通分量、强连通分量

作者: 来源: 2017-11-14 17:21:22 阅读 我要评论

(v); 
  •         } 
  •         // 打印每个连通分量中的顶点 
  •         for (int i = 0; i < M; i++) { 
  •             for (int v : components[i]) { 
  •                 System.out.print(v + " "); 
  •             } 
  •             System.out.println(); 
  •         } 
  •     } 
  • 针对一幅具体的有向图,我们来看看Kosaraju算法的轨迹。左侧的图是对反向图作DFS,获得逆后序分列是一个伪拓补序列;在右侧的图中,原有向图按照这个序列进行DFS,总共对5个顶点进行了DFS,每次DFS都表示一个强连通分量(方框框起来的顶点集合)。

    膳绫擎代码中的测试样例其实就是膳绫擎这个图。它会打印如下信息

    1. 5个连通分量 
    2. 1  
    3. 0 2 3 4 5  
    4. 9 10 11 12  
    5. 6  
    6. 7 8  

    比较上图方框圈起来的内容,切实其实实是5个强连通分量。

    趁便一提,如不雅将图中的强连通分量缩小成一个顶点,就能获得下图。因为强连通分量和强连通分量之间不会形成环,所以逆后序获得的是真正的拓补序列。回到原有向图中,按照该拓补序列次序DFS(次序是1, 0, 11, 6, 7),可以发明算法老是优先选择出度为0的顶点,进行DFS后删除该顶点,再大年夜残剩的图中选择出度为0的顶点持续DFS。

    数据构造与算法–图论之寻找连通分量、强连通分量

    【编辑推荐】

    1. 大年夜原始数据到数据科学:使非构造化数据构造化,以推动产品开辟
    2. 数据流程图和数据构造是需求分析中弗成缺氨赡一环
    3. 数据构造与算法之排序—看不懂你来打我吧
    4. Java数据构造与算法解析(八)——伸展树
    5. 数据构造中你须要知道的关于树的一切
    【义务编辑:未丽燕 TEL:(010)68476606】

      推荐阅读

      40岁的IT巨人微软 究竟是什么在支撑着它继续前进?

    Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 上周,微软颁布了其2018财年第一季度的财报。毫无不测埠,微软在这一季度大年夜赚了一笔。微软颁布财报后>>>详细阅读


    本文标题:数据结构与算法–图论之寻找连通分量、强连通分量

    地址:http://www.17bianji.com/lsqh/38858.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)