图论
文章平均质量分 75
lqcsp
这个作者很懒,什么都没留下…
展开
-
网络最大流算法
最大流也是图的一种常用的算法,许多系统包含了流量问题。例如交通系统有车流量,金融系统有现金流,控制系统有信息流等。许多流问题主要是确定这类系统网络所能承受的最大流量以及如何达到这个最大流量。 如果你想比较彻底的弄清楚网络最大流的原理, 你需要了解三个关键的概念:残留网络,增广路径,最大流最小割定。 这三个概念在算法导论上有较详细的说明再次就不再讲述了,估计也没有算法导论上讲的清楚。所以可以原创 2013-11-02 01:53:03 · 1550 阅读 · 0 评论 -
133. Clone Graph
# @(leetcode)[BFS, 图论]Clone an undirected graph. Each node in the graph contains a label and a list of its neighbors.OJ’s undirected graph serialization: Nodes are labeled uniquely.We use # as a sepa原创 2016-08-21 15:55:35 · 308 阅读 · 0 评论 -
有向图,无向图的欧拉回路和欧拉通路poj 2337
1. 欧拉回路,欧拉通路定义与判断定义: 欧拉回路:从图的某一个顶点出发,图中每条边走且仅走一次,最后回到出发点;如果这样的回路存在,则称之为欧拉回路。 欧拉路径:从图的某一个顶点出发,图中每条边走且仅走一次,最后到达某一个点;如果这样的路径存在,则称之为欧拉路径。判断: 无向图欧拉回路判断:所有顶点的度数都为偶数。 有向图欧拉回路判断:所原创 2013-12-06 04:31:06 · 6483 阅读 · 1 评论 -
最小生成树-Kruscal算法
所谓最小生成树,就是在一个具有N个顶点的带权连通图G中,如果存在某个子图G',其包含了图G中的所有顶点和一部分边,且不形成回路,并且子图G'的各边权值之和最小,则称G'为图G的最小生成树。 由定义我们可得知最小生成树的三个性质: 最小生成树不能有回路。 最小生成树可能是一个,也可能是多个。 最小生成树边的个数等于顶点的个数减一。原创 2013-11-04 07:09:03 · 2084 阅读 · 0 评论 -
有向图强连通分量(Tarjan)算法
在图论中,连通图基于连通的概念。在一个无向图G 中,若从顶点到顶点有路径相连(当然从到也一定有路径),则称和是连通的。如果 G 是有向图,那么连接和的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。强连通图指每一个顶点皆可以经由该图上的边抵达其他的每一个点的有向图。意即对于此图上每一个点对(Va,Vb),皆存在路径Va→Vb以及Vb→Va。强连通分量则是指一张有向图原创 2013-11-29 00:48:52 · 935 阅读 · 0 评论 -
最小生成树-prime算法
Prime算法的核心步骤是:在带权连通图中V是包含所有顶点的集合, U已经在最小生成树中的节点,从图中任意某一顶点v开始,此时集合U={v},重复执行下述操作:在所有u∈U,w∈V-U的边(u,w)∈E中找到一条权值最小的边,将(u,w)这条边加入到已找到边的集合,并且将点w加入到集合U中,当U=V时,就找到了这颗最小生成树。 其实,算法的核心步骤就是:在所有u∈U,w∈V-U原创 2013-11-04 08:43:55 · 30916 阅读 · 8 评论 -
最短路径-Dijkstra(poj 1135)
题意: 有一个多米诺骨牌的游戏,我们知道有关键骨牌和普通骨牌,将关键骨牌推倒之后,整个骨牌阵就会倒下,推动其他的关键骨牌,其中推倒关键骨牌A使的关键骨牌B也倒,需要一定的时间,所以本题要求求出最后一个倒的骨牌的位置,及其时间...每个骨牌阵都由关键骨牌1推起。分析:最后倒下的牌 有两种情形:① 如果最后倒下的牌是关键牌,其时间及位置就是第 1 张关键牌到其他关键牌中短路原创 2013-11-23 11:18:09 · 745 阅读 · 0 评论 -
并查集-(union-find sets)
在某些应用,要将n个不同元素分成一组不相交的集合,并且在各些集合上要提供两个操作,一个实查找一个元素所属的集合另一个操作是合并两个集合。应用有求一个图的连通分量个数。还有Kruscal算法中判断是否出现环。 其实并查集数据结构非常简单, 下面介绍的版本考虑了优化。 因为可能出现如下图所示的情况:在这做图的情况下查找一个点所属的集合的时间复杂度是O(n),就失去并查集说具有的高效原创 2013-11-04 05:05:38 · 832 阅读 · 0 评论 -
Bellman-Ford算法介绍总结
Bellman-Ford算法与Dijkstra算法思想一样,用于求解单源点最短路径问题。Bellman-ford算法除了可求解边权均非负的问题外,关键是还可以解决存在负权边的问题,而Dijkstra算法只能处理边权非负的问题,因此 Bellman-Ford算法的适用面要广泛一些。但是,原始的Bellman-Ford算法时间复杂度为 O(VE),比Dijkstra算法的时间复杂度高,就连经典的《算法原创 2013-11-01 23:39:10 · 1394 阅读 · 0 评论 -
Maximum traffic between city and its neighbors
@(leetcode)[图论|Google]ProblemYou are given a graph with no cycles, each node representing different cities and there are stadiums for baseball games in all cities. Each node contains a value representi原创 2016-08-22 16:54:17 · 639 阅读 · 0 评论