判断强连通图

判断强连通图本总结是是个人为防止遗忘而作 不得转载和商用 什么是强连通图 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 对一个有向图 如果每个节点都存在到达其他任何节点的路径 那么就称它是强连通的 如何判断强连通图 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 任取有向图 G 的某结点 S 从 S 开始进行深度优先搜索 若可以遍历 G 的所有结点 则将 G 的所有边反向 再次从 S 开始进行深度优先搜索 如果再次能够遍历 G 的所有结点 则 G 是强连通图 两次搜索有一次无法遍历所

本总结是是个人为防止遗忘而作,不得转载和商用。

什么是强连通图

         对一个有向图,如果每个节点都存在到达其他任何节点的路径,那么就称它是强连通的。

如何判断强连通图

         任取有向图G的某结点S,从S开始进行深度优先搜索,若可以遍历G的所有结点,则将G的所有边反向,再次从S开始进行深度优先搜索,如果再次能够遍历G的所有结点,则G是强连通图,两次搜索有一次无法遍历所有结点,则G不是强连通图。此外,上述搜索可以换成广度优先搜索等其他方案。

证明

                  判断强连通图

         上图明显是一个强连通图,而刚才的做法就用此图证明:

                   用a->b表示节点a可以到达b

                   图中很明显:

                            s->j

                            s->i

                   如果

                            i->s

                            j->s

                   的话(即所有的边反向),那就可以任取上边两部分中的一个,如取上面的红色部分,就有:

                            j->s->i

                   即:

                            j->i

         所以这样的做法如果成功了,那就可以证明任意两点都可以互达。

                            

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218719.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:37
下一篇 2026年3月17日 下午11:37


相关推荐

  • 理解class.forName()

    理解class.forName()

    2021年12月7日
    38
  • 芯片测试术语 ,片内测试(BIST),ATE测试

    芯片测试术语 ,片内测试(BIST),ATE测试芯片测试分为如下几类 1 WAT WaferAccepta waferlevel 的管芯或结构测试 2 CP chipprobing waferlevel 的电路测试含功能 3 FT FinalTest devicelevel 的电路测试含功能 CP 测试 CP 是 waferlevel 的 chipprobing 是整个 wafer 工艺 包括 backgrind

    2026年3月19日
    2
  • 基于近邻的协同过滤算法「建议收藏」

    基于近邻的协同过滤算法「建议收藏」这节课我们来学习K近邻在推荐系统中的应用,你将完成本课程的第一个实战项目:基于KNN的电影推荐系统!为了使你能够顺利地完成实战内容,我们先了解一下推荐系统中的基础知识。基于近邻用户的协同过滤假定有一个场景:某个周日的下午,你感觉很无聊,然后从电脑上打开了一个视频网站,想看下最近有什么好看的电影。然而你发现网站上的热门电影基本都看过,其他的电影又太多,不知道该看什么。想使用搜索框去查一下,但是又不知道该搜什么关键词,这个时候你的内心很焦灼,总不能挨个去尝试吧,那时间成本也太大了…仔细想想还是有办法的,那

    2022年6月30日
    25
  • 4hutool实战:DateUtil-格式化时间[通俗易懂]

    4hutool实战:DateUtil-格式化时间[通俗易懂]hutool实战:把日期按照不同的需求格式化成对应的日期字符串关键字:javajavaJAVAhutoolhutoolHutool工具类工具类工具类DateUtilDateUtilDateUtil

    2022年6月11日
    37
  • 重绘和回流的区别

    重绘和回流的区别1 回流 元素的大小或者位置发生改变 当页面布局发生改变的时候 触发了重新布局导致渲染树重新计算布局和渲染 如添加或删除可见的 DOM 元素 元素的位置发生变化 元素的尺寸发生变化 内容发生变化 如文本变化或图片被另一个不同尺寸的图片所代替 页面一开始渲染的时候 无法避免 因为回流是根据视口大小来计算元素的位置和大小的 所以浏览器窗口尺寸变化也会引起回流 2 重绘 只改变自身样式 不会影响到其他元素元素样式的改变 但宽高 大小 位置不变 eg visibility color

    2026年3月20日
    2
  • 1 – 项目介绍

    1 – 项目介绍

    2026年3月15日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号