
图算法
蛋淡的忧伤
小xuo生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
旅行
旅行 A君所在的城市可以抽象成为个有n(1 ≤n ≤ 20000)个点和m(1 ≤ m ≤ 50000)条无向边的地图。 A君住在1号点,他想进行一次环城市旅游。他从1号点出发,每次沿着和1号点相连的边中最短的边到下一个城市(如果有很多个最短的边,选择编号最小的走),到达下一个城市以后,还是沿着和这个城市相连的最短边走到下一个点(如果有很多个最短的边,选择编号最小的走),一直这样走下去,直到要...原创 2019-06-26 17:59:49 · 393 阅读 · 0 评论 -
单源最短路径Dijkstra算法
Dijkstra算法模板,邻接表实现,邻接表是数组模拟实现的 Dijkstra适用于有向图、无向图。 图中不能有负权值,有负权则用SPFA算法 #include<cstdio> #include<cstring> const int N=1000; const int M=10000; struct edge//边结构体 { int v,w,next;//边指...原创 2019-06-28 18:00:01 · 431 阅读 · 0 评论 -
单源最短路径算法SPFA
适用于带负权的最短路径算法 ,不带负权值则一般用Dijkstra算法 算法步骤: 将所有顶点标记为未访问,源点标记为已访问,并加入队列。 将所有点到源点的距离初始化为一个很大的数,源点到源点本身的距离初始化为0 只要队列不空,取队列中的队头顶点,将该顶点点标记为未访问。如果该顶点U到它所连接顶点U(可能不止一个)距离加上边的距离小于源点到顶点U的距离,则将此距离更新为源点到顶点U的距离加上...原创 2019-06-29 19:48:20 · 300 阅读 · 0 评论 -
SPFA判断图中是否有负环
使用SPFA算法判断图中首有负环。 SPFA算法保证每个顶点至多入队列n次(n为顶点总数)更新出到所有点的最短距离 如果某个点入队列次数大于n次表示图中有负环 #include<cstdio> #include<queue> #include<cstring> using namespace std; const int N=1000; const i...原创 2019-06-30 16:22:33 · 579 阅读 · 0 评论 -
多源最短路径floyd算法
floyd算法是解有向图、无向图(可以带负权,不能有负环)的多源最短路径算法 使用时可以用SPFA先判断是否有负环,没有就可以使用了。 常用邻接矩阵实现 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int N=100; int G[N]...原创 2019-06-30 17:09:33 · 283 阅读 · 0 评论