问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用Dijkstra算法求最短路径

发布网友 发布时间:2022-05-20 09:54

我来回答

1个回答

热心网友 时间:2023-10-15 19:13

#include <stdio.h>
#include <string.h>
#define MAX 20
int mincost(int V[], int D[], int n);
int main()
{
int C[MAX][MAX];
int D[MAX], V[MAX] = { 0 }; /*数组V用来表示每次计算加入集合V的点,1为加入了,0为还没有加入*/
int n, i, j, k, w, sum;
printf("请输入顶点个数:");
scanf("%d", &n);
printf("\n请输入建立后的临接矩阵(用n*n矩阵表示), 输入100000表示无穷大:\n");
for(i = 1; i <= n; i++)
{
for(j = 1; j <= n; j++)
{
scanf("%d", &C[i][j]);
}
}
V[1] = 1; /*1为源点*/
for(i = 1; i <= n; i++)
{
D[i] = C[1][i]; /*D置初值*/
}
for(i = 1; i <= n; i++)
{
/*从集合S(即没有经过计算的点)中选出一个点w(即V中值为0),使D[w]值最小*/
w = mincost(V, D, n);
V[w] = 1;
/*由于w的选定,S中的每个点(即V中值为0的点都要重新计算其到源点的最小值*/
for(k = 2; k <= n; k++)
{
if(V[k] == 0)
{
sum = D[w] + C[w][k];
if(sum < D[k])
{
D[k] = sum;
}
}
}
}
for(i = 2; i <= n; i++)
{
printf("D[%d] = %d\n", i, D[i]);
}
memset(V, 0, MAX * sizeof(int)); /*初始化*/
return 0;
}

int mincost(int V[], int D[], int n)
{
int temp = 10000000, i, w = 2;
for(i = 2;i <= n; i++)
{
if(V[i] == 0 && D[i] < temp)
{
temp = D[i];
w = i;
}
}
return w;
}

改成文件的就行了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
饥荒巨鸟图腾有什么用 饥荒巨鸟图腾怎么激活 恐惧饥荒健康怎么回复 健康值系统详解 想在京东买32g内存卡,发个商品号给我吧 民族文化浅谈普米族的宗教信仰 iphone4s进入恢复模式后,过几十秒就自动关机 hdr10是什么意思(hdr10是什么) 郑州禧年化妆摄影学校的专业设置 乔迁择吉2022年属鸡4月最佳入新居日子? 变电站中110kv配电变压器最小多大容量? DIJKSTRA的最短路径怎么求 在图中求的 我不明白具体过程 Dijkstra算法流程图 如何记录Dijkstra最短路径的过程 以邻接表作存储结构实现求源点到其余各顶点的最短路径的Dijkstra算法 Dijkstrath算法是什么?如何用Dijkstrath算法求计算机网络拓扑图的最短路径? 利用Dijkstra算法求下图中从顶点1到其它各顶点间的最短路径,按下面表格形式 小米note3开屏经常跳转网页 在淘宝网开店能不能买家具?怎么送到买家手里? 淘宝上商品到了买家手里,而交易却关闭了,怎么办,我现在没法找他要钱... 我刚才淘宝开店,怎么把货运到买家手里,打快递电话叫快递上门拿货吗 在淘宝上买东西,卖家发货,快递没有把货物送到买家手上,但在物流上已写签收,这是怎么回事? 淘宝卖家同意退款的钱已经回到买家手里,那么t卖家有没有理由向淘宝申诉... linux应用软件的安装 活动义齿、固定义齿有什么区别 让隔离人员加二维码进群怎么写便签 要装活动义齿了,有点关于活动假牙的问题请教。 梦见前妻坐在红色车上我在后面跑着追上了? 梦见前妻回来拿扫把追着打我 经常梦见前妻来找我,可是她已结婚五年了还有了孩子这是怎么回事。 梦见前妻与儿子一直奔跑追我 贵阳这两天(2011年3月18号-19号)的天气如何? 这两天贵州贵阳天气怎么样? 今天贵阳市天气如何? 现在苹果xsmax好用吗? 索尼RXO2怎么样 我和爸爸的关系 我和爸爸是子女关系吗 我和爸爸的关系很不好。我该怎么办 我和爸爸的关系…我不知道该怎么办了,大家帮帮我… 我和父亲的关系该如何相处下去 我和爸爸“兄弟”的关系是什么? 实验台长宽高的尺寸是多少? 实验台常规尺寸是多少? 实验台一般尺寸? 实验台尺寸怎么确定? 振动实验台的型号及尺寸 在家架设一个初中高中化学实验室或者物理实验室 中学物理实验室、生物实验室要预留水龙头吗,分别要几个? 什么是物理尺寸 高中物理 1