图论
文章平均质量分 82
WarrenChou_
当你的才华支撑不起你的野心时,只有静下心来好好学习!
展开
-
强连通分量、割点、割边
一、强连通分量分解1.什么是强连通分量对于一个有向图顶点的子集SSS,如果在SSS内任取两个顶点uuu和vvv,都能找到一条从uuu到vvv的路径,那么就称SSS是强连通的。如果在强连通的顶点集合SSS中加入其它任意顶点集合后,它都不再是强连通的,那么就称SSS是原图的一个强连通分量(SCC:StronglyConnectedComponentSCC:Strongly Connected Co...原创 2019-12-03 22:07:39 · 448 阅读 · 0 评论 -
网络流——最大流
一、什么是网络流网络流是指给定一个有向图,其中有两个特殊的点:源点sss(Source)和汇点ttt(Sink);每条边都有一个指定的流量上限,下文均称之为容量(Capacity),即经过这条边的流量不能超过容量,这样的图被称为网络流图。同时,除了源点和汇点外,所有点的入流和出流都相等,源点只有流出的流,汇点只有流入的流,网络流就是从 sss 到 ttt 的一个可行流。二、可行流、最大流定义...原创 2019-11-27 16:10:23 · 4760 阅读 · 1 评论 -
拓扑排序
1.什么是拓扑排序在图论中,拓扑排序(Topological Sorting)是一个有向无环图(DAG, Directed Acyclic Graph)的所有顶点的线性序列。且该序列必须满足下面两个条件:1.每个顶点出现且只出现一次。2.若存在一条从顶点 A 到顶点 B 的路径,那么在序列中顶点 A 出现在顶点 B 的前面。有向无环图(DAG)才有拓扑排序,非DAG图没有拓扑排序一说。例...原创 2019-11-19 22:53:10 · 442 阅读 · 0 评论 -
最短路问题+最小生成树
最短路问题1.Dijkstra(迪杰斯特拉)算法图的存储链式前向星法int N,M,dix; //图的最大顶点数和边数int h[N]; //顶点数组struct node{int e,v,next;}edge[M];//添加边void add(int a,int b,int c) //边起点、终点、权值{edge[++dix].e=b;edge[dix].v=...原创 2019-09-11 18:32:19 · 588 阅读 · 0 评论 -
欧拉回路/路径
1.什么是欧拉回路/路径欧拉路径:在一个图中,由i点出发,将每个边遍历一次最终到达j点的一条路径。欧拉回路:i=j时的欧拉路径。2.怎么判断欧拉回路/路径存在欧拉回路/路径前提 图是连通的无向图中在无向图中(连通图),只要每个点的度数(连接的边数)均为偶数,就会存在欧拉回路因为每个点的度数为偶数,所以可以将整个图看做由数个环嵌套而成,因为环一定能找到一条欧拉回路...原创 2019-09-18 14:17:57 · 989 阅读 · 0 评论 -
深度优先搜索dfs(附模板+例题讲解)
讲深搜的话,拿经典的迷宫问题来说明是最好的,刚好最近在洛谷上刷到了一道迷宫题,就以它为例了,原题在下面P1605 迷宫题目要求输入输出格式输入输出样例输入样例:2 2 11 1 2 21 2输出样例:1【数据规模】1≤N,M≤5题目整体来说比较简单,思路就是使用深搜一个一个查,用两个数组分别标记走过的点和障碍物,使用自动选择方向来简化代码,没有遇到障碍物并且不是...原创 2019-07-16 17:59:57 · 5521 阅读 · 4 评论