求最短路暂时掌握了4种,但感觉就dijkstra复杂度能用; 1 floyd算法: 就是暴力的三重循环,以每个点为中转点,每次遍历所有的点,看看能不能通过这个中转点更新最短路径; 优点:n<200时用这种方法,用邻接矩阵存图 ,可求任意的两点的最短路;而且好写; 缺点:复杂度太高,O(n^3)的复杂 ...
分类:
编程语言 时间:
2020-02-22 10:16:39
阅读次数:
71
应用场景-修路问题 看一个应用场景和问题: 有胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在需要修路把7个村庄连通 各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 问:如何修路保证各个村庄都能连通,并且总的修建公路总里程最短? 最小生成树 修路问题本质就是就是最 ...
分类:
编程语言 时间:
2020-02-22 09:28:59
阅读次数:
95
双连通图:无向图中每两个顶点都存在完全不同的两条路径 给定一个无向图,问要给它增加多少条边可以把它变成双连通图。 用tarjan缩点,可以得到一棵树,添加(叶子结点+1)/2条边可以使其成环,也就是答案~ 为了避开重边,这题用邻接矩阵存,wa了一晚上QAQ~ #include<cstdio> #in ...
分类:
其他好文 时间:
2020-02-15 20:37:22
阅读次数:
66
==主题:遍历以邻接矩阵存储的有向图== 给出如下的图: A / \B C \ / D (这个图的边集={<A,B>,<A,C>,<B,C>,<B,D>,<C,B>,<C,D>,<D,C>},可以看出这是一张稠密图)将这张有向图转为邻接矩阵(出边)如下: A B C DA 0 9 2 XB X 0 ...
分类:
其他好文 时间:
2020-02-13 13:15:08
阅读次数:
66
前言: 图论乃noip之重要知识点,但有点难理解 本人因此吃过不少亏 因为本人实在太弱,所以此篇乃正宗<蒟蒻专属文章> 正文:(本文仅介绍图论中的重点、难点,其余部分略将或不讲) 图一般来说有二种存储方法:邻接矩阵和邻接表 邻接矩阵: 存储:拿二维数组来存 for(int i=1;i<=n;++i) ...
分类:
其他好文 时间:
2020-02-08 18:02:46
阅读次数:
84
试实现邻接矩阵存储图的深度优先遍历。 函数接口定义: void DFS( MGraph Graph, Vertex V, void (*Visit)(Vertex) ); 其中MGraph是邻接矩阵存储的图,定义如下: typedef struct GNode *PtrToGNode; struct ...
分类:
其他好文 时间:
2020-02-08 18:01:29
阅读次数:
62
图的表示方式: 邻接矩阵 邻接表 图的代码实现:123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import java.util.ArrayList;import... ...
分类:
编程语言 时间:
2020-02-04 14:03:54
阅读次数:
75
"Link" 可以发现不走其实就是走自环,所以我们给每张图的每个点添加一个自环。 对于第$i$张图,设其邻接矩阵为$\mathbf A_i$,那么在第$i$张图上走$k$步回到原点的方案数就是$\operatorname{tr}(\mathbf A_i^k)$。 设$g_{l,r,k}=\prod\ ...
分类:
其他好文 时间:
2020-02-03 12:02:50
阅读次数:
95
图的遍历和应用 1. 实现方式 :邻接矩阵可以使用vector。邻接矩阵的无穷表示方法: 2. 应用场景 :拓扑图、最小生成树、最短路径、二分图、DFS、BFS。 例题 全排列问题 匈牙利算法 —— 最大匹配 代码与知识点均学习自AcWing:https://www.acwing.com/activ ...
分类:
其他好文 时间:
2020-02-01 12:32:35
阅读次数:
73
#include <iostream> using namespace std; #define INFINITY 65536//无穷大 #define MAX_VERTEX_NUM 10//最大顶点个数 typedef enum{DG,DN,UDG,UDN}GraphKind;//有向图,有向网, ...
分类:
其他好文 时间:
2020-01-28 17:22:56
阅读次数:
177