Dijkstra 算法 Floyd 算法;设有8 个居民点(如上图),每条边代表两居民点的道路,数字代表路长.(1) 求出顶点 1 v 到其余各顶点的最短路径及路长(Dijkstra 算法) ;(2) 求出每两个顶点之间的最短路径及
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 20:40:15
![Dijkstra 算法 Floyd 算法;设有8 个居民点(如上图),每条边代表两居民点的道路,数字代表路长.(1) 求出顶点 1 v 到其余各顶点的最短路径及路长(Dijkstra 算法) ;(2) 求出每两个顶点之间的最短路径及](/uploads/image/z/11454521-41-1.jpg?t=Dijkstra+%E7%AE%97%E6%B3%95+Floyd+%E7%AE%97%E6%B3%95%3B%E8%AE%BE%E6%9C%898+%E4%B8%AA%E5%B1%85%E6%B0%91%E7%82%B9%28%E5%A6%82%E4%B8%8A%E5%9B%BE%29%2C%E6%AF%8F%E6%9D%A1%E8%BE%B9%E4%BB%A3%E8%A1%A8%E4%B8%A4%E5%B1%85%E6%B0%91%E7%82%B9%E7%9A%84%E9%81%93%E8%B7%AF%2C%E6%95%B0%E5%AD%97%E4%BB%A3%E8%A1%A8%E8%B7%AF%E9%95%BF.%281%29+%E6%B1%82%E5%87%BA%E9%A1%B6%E7%82%B9+1+v+%E5%88%B0%E5%85%B6%E4%BD%99%E5%90%84%E9%A1%B6%E7%82%B9%E7%9A%84%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E5%8F%8A%E8%B7%AF%E9%95%BF%28Dijkstra+%E7%AE%97%E6%B3%95%29+%3B%282%29+%E6%B1%82%E5%87%BA%E6%AF%8F%E4%B8%A4%E4%B8%AA%E9%A1%B6%E7%82%B9%E4%B9%8B%E9%97%B4%E7%9A%84%E6%9C%80%E7%9F%AD%E8%B7%AF%E5%BE%84%E5%8F%8A)
Dijkstra 算法 Floyd 算法;设有8 个居民点(如上图),每条边代表两居民点的道路,数字代表路长.(1) 求出顶点 1 v 到其余各顶点的最短路径及路长(Dijkstra 算法) ;(2) 求出每两个顶点之间的最短路径及
Dijkstra 算法 Floyd 算法;设有8 个居民点(如上图),每条边代表两居民点
的道路,数字代表路长.
(1) 求出顶点 1 v 到其余各顶点的最短路径及
路长(Dijkstra 算法) ;
(2) 求出每两个顶点之间的最短路径及路长,
并与(1)中的结果相比较(Floyd 算法);
Dijkstra 算法 Floyd 算法;设有8 个居民点(如上图),每条边代表两居民点的道路,数字代表路长.(1) 求出顶点 1 v 到其余各顶点的最短路径及路长(Dijkstra 算法) ;(2) 求出每两个顶点之间的最短路径及
#include
#include
#define MVNum 100 //最大顶点数
#define Maxint 32767
typedef char VertexType;
typedef int Adjmatrix;
typedef enum {FALSE,TRUE} boolean;//定义布尔型
typedef struct {
VertexType vexs[MVNum]; //顶点数组,假定为char型
Adjmatrix arcs[MVNum][MVNum];//邻接矩阵,假定为int型
}MGraph;
int D1[MVNum],P1[MVNum];
int D[MVNum][MVNum],P[MVNum][MVNum];
//#include"save.c"
//#include"dijkstra.c"
//#include"floyd.c"
void CreateMGraph(MGraph *G,int n,int e)
{
int i,j,k,w;
for(i=1;ivexs[i]=(char)i;
for(i=1;i