day7:图论(下)

day7:图论(下)

又是自闭的一天,讲的都是几乎对于我来说是全新的,唯一一个二分图最大匹配匈牙利算法在暑假做题的时候偶然遇到了,然后自学了一下,其余…

(一):

首先讲了昨天还剩下一点没讲完的最短路径:多源点问题 Floyd算法

就是用了动态规划的思想,代码简单,对于我这种记模板的小白来说是最好用不过了,直接三重for循环不断更新每两个点之间的最短路径,显然总的时间复杂度O(n^3)

(二):

这个一讲完就开始我自闭的一上午了

直接上来就讲强联通图、强联通分量
虽然这些理论知识以前学离散的时候都有所涉及,但是我还是太天真了
直接上几个算法,搞的我一脸懵逼了

开始讲连通分量感觉还好,直接用一下DFS就能判断一个无向图中有多少个连通分量

接下来的强联通分量,感觉听上去还好,但是我想多了

前提:前连通分量是针对有向图而言

至于判断有向图是不是强联通图,直接用DFS感觉就可以,

但是如果有向图没强连通,即:非强连通有向图的极大连通子图称为强连通分量

重点来了,求非强联通有向图的强连通分量

两种算法:
1、Kosaraju算法:两次DFS,实现较容易
2、Tarjan算法:一次DFS,实现较复杂,
还有一种Tarjan算法的改进版,但是我并没有看

至于这两种算法,也只是在下午了解了下原理,代码实现一直都没来得急。。。

1、Kosaraju算法:对有向图和它的逆图实施两次DFS
时间复杂度O(N+M)

2、Tarjan算法:感觉还是挺巧妙的,在DFS时,运用了一个栈,进行相关操作

保留两个大佬的博客,到时候等有时间的时候,一定要找些题,用代码实现下:

传送门1

传送门2

讲完连通分量之后,有稍微介绍了下:双连通分量,调用Tarjan算法稍微变形

(三):

终于能让我缓缓了,接下来的二分图,由于暑假有自学到,于是感觉还挺简单的,但是还是好多东西没掌握,只是小巫见大巫

虽然二分图匹配问题:匈牙利算法有所了解,但是只是了解了它的DFS实现,但是没了解它的BFS实现

回到二分图…

只要是:

二分图最大匹配——匈牙利算法

最小点覆盖=最大匹配数——匈牙利算法

最大独立集=顶点数-最大匹配数——匈牙利算法

最小路径覆盖数=原图点数-新图最大匹配数——匈牙利算法

针对这个,下午做了几道有代表性的简单题

具体见这篇博客:https://blog.csdn.net/boliu147258/article/details/100006006

虽然匈牙利算法掌握的差不多了,但是关于匈牙利的改进算法:Hopcroft-Karp算法
以及在带权的二分图找权值最大的完备匹配算法:KM(Kuhn-Munkres)算法
还是没有掌握,这一下子要补的东西越来越多了

(四):

网络流

好吧,没来得及看, 关键是太懒了,
找了一篇博客,以后回来补吧…

https://www.cnblogs.com/fzl194/p/8855085.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值