![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
codeLeaves
业余软工狗
展开
-
图论入门(3):最小生成树之Prim算法(以及优先队列的bug修正)
在一个赋权连通图中,有一条路径将图中所有的结点连通并且权的和加起来最小, 在这条路径中所有边构成的就是最小生成树。Prim算法的思想其实跟Dijkstra算法基本一样,甚至在执行贪心策略的时候判断条件更为简单,只要求获得到目标点的最小权值而无须加上从出发点自身带有的权值。我们以codevs上1231为例:http://codevs.cn/problem/1231/ 其中题目中的n达到了100000原创 2015-12-07 22:14:00 · 683 阅读 · 0 评论 -
图论入门(2):Dijkstra算法(POJ 2387)
Dijkstra算法是图论的基本算法,适用于求单源最短路径,同时它也是一种典型的贪心算法,所以它所得到的解未必就是最优解,这也是它的局限性。以下是POJ上的模板题:http://poj.org/problem?id=2387由于之前用链表做了多次结果一直RE,最后找不到bug只好看别人解法用数组完成。这一次我就不一一解释代码了,只说一下大概的思路(图用一个邻接矩阵来储存): ①Dijkstra算法原创 2015-12-06 17:01:48 · 597 阅读 · 0 评论 -
图论入门:拓扑排序算法
首先我们考虑如何表示一张图,一张图由顶点V及边E构成,图的一般表示方法是邻接矩阵,但邻接矩阵通常无法表示大数据,因为无意义数据的0占据了空间,所以我们一般采取邻接表的方法来表示一张图。以下是关于图的一些基本概念: ①一个点的入度就是以该点为终点的边的个数,一个点的出度就是以该点为起点的边的个数。 ②圈是指在图中没有一条路径(path)的起点和终点是相同的。 ③简单图是指没有多重边。拓扑排序适用原创 2015-12-01 19:58:09 · 505 阅读 · 0 评论