---------------图--------------
文章平均质量分 60
田园园野
我坚持,我坚信
展开
-
最短路径 输出路径 Dijkstra算法
某个源点到其余各顶点的最短路径 这个算法最开始心里怕怕的,不知道为什么,花了好长时间弄懂了,也写了一遍,又遇到时还是出错了,今天再次写它,心里没那么怕了,耐心研究,懂了之后会好开心的,哈哈Dijkstra算法:图G 如图:若要求从顶点1到其余各顶点的最短路径,该咋求;迪杰斯特拉提出“按最短路径长度递增的次序”产生最短路径。首先,在所有的这些最短路径中,长度最短的这条路径必定只有一条弧,且它的原创 2017-04-03 20:38:15 · 16416 阅读 · 2 评论 -
最短路 floyd算法
动态规划#include<stdio.h>#include<string.h>#define max 99999999#define min(a,b) a<b?a:bint main(){ int n,m,i,j,a,b,v,k; scanf("%d%d",&n,&m); int dp[n][n]; for(i=0;i<n;i++){ for(j原创 2017-04-03 21:49:31 · 530 阅读 · 0 评论 -
最小生成树 kruscal算法 C语言
克鲁斯卡尔算法的基本思想:在N个顶点的连通无向网中,在所有未选取的边中,在不构成构成回路的前提下,选最小边,若构成回路,取次小边,直到出现N-1条边。#include<stdio.h>#include<string.h>#include<stdlib.h>#define Max 999999int pre[Max],k=0,n,m;struct Egde{ int from,to,v;原创 2017-04-04 15:44:19 · 1440 阅读 · 0 评论 -
bellman-ford算法 最短路
bellman-ford算法 在负权的图的单源最短路问题Bellman-Ford 算法和 Dijkstra 算法都是可以解决单源最短路径的算法,一个实现的很好的 Dijkstra 算法比 Bellman-Ford 算法的运行时间要低,但dijkstra算法无法解决存在负权环的图的单源最短路问题原创 2017-04-16 09:47:04 · 2430 阅读 · 0 评论 -
算法训练 最短路
算法训练 最短路问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。原创 2017-05-25 08:38:49 · 646 阅读 · 0 评论 -
prim算法 最小生成树
最小生成树是最小权重生成树的简称。一个有n个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有n个结点,并且有保持图连通的最少的边普里姆算法(Prim算法) 在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和也为最小。例如如下:图B是由图A的最小生成树图A 图B算法过程详解: 存在两个集合:都存储结点原创 2017-04-04 23:37:43 · 462 阅读 · 0 评论 -
算法训练 安慰奶牛 C语言
问题描述 Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 <= Sj <= N; 1 <= Ej <= N; Sj != Ej),而且走完它原创 2017-04-04 16:59:42 · 1086 阅读 · 0 评论 -
spfa算法 最短路
SPFA(Shortest Path Faster Algorithm)(队列优化)算法: 1.求单源最短路径。 2.判负环(在差分约束系统中会得以体现)。 3.在Bellman-ford算法的基础上加上一个队列优化,减少了冗余的松弛操作,是一种高效的最短路算法。如求如下图到各顶点的最短路径,d[i]记录到顶点i的最短路,Q队列 过程如下:1.初始化:用数组代替队列,二维数组存储点边信息#i原创 2017-04-16 19:48:42 · 448 阅读 · 0 评论