图论
000carryt
这个作者很懒,什么都没留下…
展开
-
图论入门
图的基本概念图的基本概念其实没什么好说的,图就是图。有向图与无向图 无向图就是路径没有方向的。(双向马路) 有向图就是路径有方向的。(单行道)2.入度与出度 (1)有向图 入度——以该顶点为终点的边数目和。 出度——以该顶点为起点的边数目和。 (2)无向图 度数为与该点相连的边数总和。 3.**原创 2017-12-15 21:08:31 · 416 阅读 · 0 评论 -
图论的存储
写在前面邻接矩阵概念特点代码邻接表概念特点代码写在前面图论的存储有好几种 1.邻接表(较普遍) 2.邻接矩阵(最好写) 3.编集数组 4.前向星 但蒟蒻萝卜水平有限,只会前面两种,而且不会STL库,所以。。。邻接矩阵概念用来存储图的二维数组(下标为点编号,数值是权值或边的有无) 特点1.在无向图中往往是沿直线i=j对称。 2.缺点:占用空间原创 2017-12-27 19:34:24 · 519 阅读 · 0 评论 -
遍历
额深度优先遍历dfs算法思路代码图示求连通分量广度优先遍历bfs概念代码图示额如何访问图中每个点??? 那就要说强大的遍历了深度优先遍历(dfs)算法思路对于一个图,找其中第一个点,不断往下搜索,每个搜过的点处理并标记,直到他所有邻接点搜完,便返回父节点。代码//邻接矩阵Void dfs(int k);{ printf(“%d”,k); f[k]=true原创 2017-12-27 19:57:15 · 353 阅读 · 0 评论 -
传递闭包
如何判断顶点 i到j是否存在一条从i到j的路径?传递闭包算法代码for (int i=1;i<=n;i++) can[i][i]:=true; for (int k=1;k<=n;k++) for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) can[i][j] ||= (can[i][k] &原创 2017-12-27 20:03:00 · 711 阅读 · 0 评论 -
(重点)最短路径
最短路径三角形迭代floyed概念代码图示输出路径dijkstra概念代码图示输出路径bellmanford概念代码图示spfa概念代码图示总结比较图示最短路径图论中可以算最重要的算法之一。可以解决很多问题。 分为很多种算法 1.floyed(图中每对顶点(任意两点)之间的最短路径) 2.dijkstra(图中一个顶点到其他顶点的最短路径) 3.b原创 2017-12-27 20:20:44 · 286 阅读 · 0 评论 -
(重要)最小生成树
概念生成树最小生成树图示特点环属性剪切属性其他prim算法图示代码kruscal算法图示代码总结概念生成树信息学里的树??? 图论中一个V个点的图,取其中V-1条边,将他们连接起来,就是生成树。最小生成树生成树中边权总和最小的生成树,就是最小生成树。图示特点1.环属性一颗生成树上任意加一条边,必构成环。 再去掉环上最大权边,就得到了一颗可能更好的生成树。 2.剪原创 2017-12-28 09:08:45 · 921 阅读 · 0 评论 -
拓扑排序
小问题拓扑排序topsort算法图示代码小问题有n个士兵(1≤n≤100),编号依次为1、2、3、……。队列训练时,指挥官要把一些士兵从高到矮依次排成一行。但现在指挥官不能直接获得每个人的身高信息,只能获得“p1比p2高”这样的比较结果。 请按照从高到低输出一种合理的排队序列。 输入: 8 2 1 1 4 1 5 4 5 4 6 3 5 3 7 5 6原创 2017-12-28 12:47:19 · 236 阅读 · 0 评论 -
网络流入门
闲话网络流基本最大流Edmonds—Karp算法模板dinic算法模板闲话懵逼day2。。 网络流二分图之类的。。 很多并不听得懂。。也比较难受。。 。后来想了想,还是决定去C班。。网络流基本是图论中的一个分支。可以把它看做水流的流输。 一张有向图。 源点:S; 就是所有水流流出点 汇点:T; 就是最终水流流入...原创 2018-07-08 10:02:11 · 208 阅读 · 0 评论