![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
图论
图论算法
Charming Boy
苟有恒,何必三更眠五更起;
最无益,莫过一日曝十日寒。
展开
-
Floyd打印最短路径及选址问题
前言:在求任意两点间的最短路问题中,图一般较为稠密,使用Floyd算法可以在O(N ^ 3)的时间实现。当然也可以把每个点作为起点,求解N次单源最短路径问题,但较为复杂。这里介绍Floyd算法以及使用Floyd算法打印路径和解决选址问题原创 2020-05-07 22:41:22 · 1423 阅读 · 0 评论 -
Prim算法、Kruskal算法
文章目录Prim算法Kruskal算法主要内容:Prim算法最小生成树对应的问题一般都是无向图,最小生成树所构成的图总边权之和最小,但不能是环,否则不能称之为"最小"。Prim算法是求解最小生成树的算法之一,适用于稠密图,Prim算法和Dijkstra算法步骤很相似,不同的是Dijkstra需要更新所有邻居到起点的距离,也就是"松弛操作",但Prim不需要,只需要把距离集合最近的点加...原创 2020-04-01 17:20:15 · 4611 阅读 · 0 评论 -
二分图(染色法、匈牙利算法)
文章目录染色法判定二分图匈牙利算法主要内容:染色法判定二分图二分图:把无向图分为两个集合V1, V2,所有边都在V1和V2之间,V1或V2内部没有边。一个图是否为二分图,一般用"染色法"判断。例如:(1、2在一个集合,3,4在一个集合)染色法:用两种颜色(可以赋值为1、2)对所有顶点进行染色,要求一条边所连的两个相邻顶点的颜色不同,颜色结束后,若所有相邻顶点的颜色都不相同,...原创 2020-04-01 09:58:03 · 686 阅读 · 0 评论 -
拓扑排序
文章目录算法分析拓扑排序模板算法分析拓扑排序:把事情看成图的点,把先后关系看成有向边,问题转化为在图中求一个有先后关系的排序,就是拓扑排序。拓扑排序用BFS和DFS均可实现。如何排序?拓扑排序需要根据点的入度和出度,一个点的入度和出度体现了这个点的先后关系。如果一个点的入度等于0,说明它是起点,是排在最前面的。如果它的出度等于0,说明排在最后面。因为优先级相同的数的存在,拓扑排序可能不止...原创 2020-03-31 21:30:28 · 283 阅读 · 0 评论