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

c#实现最短路径算法

发布网友 发布时间:2022-05-15 18:48

我来回答

1个回答

热心网友 时间:2024-02-26 23:12

oo
{
int len,num;
struct oo *next;
} link;

typedef struct
{
int num;
link *next;
} graph;

/*
node[]图的邻接表
n节点总数
s源点
dis[]到源点的最短路径长度
pre[]最短路径上的前驱结点
算法返回true,当且仅当途中不包含从源点可达的负权回路
*/

bool bellmanFord(graph node[],int n,int s)
{
int dis[MAX],pre[MAX];
int i,j;
link *p;
for(i=0;i<n;i++)
{
dis[i]=MAXVALUE;
pre[i]=-1;
}
dis[s]=0;
for(i=0;i<n;i++)
{
p=node[i].next;
while(p)
{
if(p->len+dis[i]<dis[p->num])

p=p->next;
}
p=node[i].next;
while(p)
{
if(p->len+dis[i]<dis[p->num])
return false;
p=p->next;
}
}
for(i=0;i<n;i++)
{
printf("%d %d\n",i,dis[i]);
j=i;
while(j!=-1)
{
printf("%d ",j);
j=pre[j];
}
cout<<endl;
}
return true;
}

//这个是邻接矩阵
const int MAX = 100;
const int MAXVALUE = 1000;

int graph[MAX][MAX],n;
/*
graph[][]图的邻接阵
n 图的节点数
s 源点
dis[] 存放最短路径
pre[] 存放最短路径上的前驱节点
算法返回true,当且仅当途中不包含从源点可达的负权回路,并输出每个节点最短路径的前驱值
*/

bool bellmanFord(int graph[][MAX],int n,int s)
{
int dis[MAX],pre[MAX];
int i,j,k;
for(i=0;i<n;i++)
{
dis[i]=MAXVALUE;
pre[i]=-1;
}
dis[s]=0;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
if(i!=j&&dis[j]>dis[i]+graph[i][j])
{
dis[j]=dis[i]+graph[i][j];
pre[j]=i;
}
for(j=0;j<n;j++)
if(i!=j&&dis[j]>dis[i]+graph[i][j])
return false;
}
for(i=0;i<n;i++)
{
printf("%d %d\n",i,dis[i]);
k=i;
while(pre[k]!=-1)
{
printf("%d ",pre[k]);
k=pre[k];
}
cout<<endl;
}
return true;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
2024年小麦价格多少钱一斤 酸甜口味的凉拌菜如何制作? 小麦价格什么时候涨 明年小麦还会继续上涨吗 怎么做家常韭菜烧豆腐? 家常烧豆腐块怎么做? 单核CPU512内存 加内存会让电脑运行快吗 我的电脑配置 CPU AMD速龙 双核 3600+ 内存 512MB 显卡64M 什么情况... 我的cpu是AMD Sempron 3000+的 内存是512M 显示卡是 Radeon X300/X550/... 我的电脑是双核CPU 2G内存 512独显 怎样才能加快电脑运行速度 用C++做全国交通资讯课设,计算最短路径的算法用Dijkstra好,还是用Floy好,但是图采用的是邻接表存储! 交通咨询系统中的最短路径 建立交通图的存储结构、解决单源最短路径问题、再实现两个地点最短路径问题 邻接矩阵求最短路径问题 对于一个无向图生成的邻接矩阵,已知第A行和第B行(A&lt;B),求AB的最短路径 构造一个又向图并求其关键路径和最短路径(C++ 邻接表 模板实现) 以邻接表存储的图,用Dijkstra算法怎么实现求两点的最短路径?给个算法啊 java中如何邻接矩阵遍历最短路径长度 贝瑞克有哪几个人版本 请问:贝瑞克和美德乐的吸奶器哪个好? 新手妈妈们选吸奶器的话美德乐和贝瑞克那个更好用? 喜咪乐吸奶器和贝瑞克哪个好用? 什么时候用吸奶器?美德乐和贝瑞克哪个好? 贝瑞克电动吸奶器好用吗? 现在市面上吸奶器哪个品牌好?美德乐和贝瑞克哪个更好? 师生情记叙作文,有细节描写,七八百字左右 求一篇师生情作文 有关于师生情的中考满分作文,要用借景抒情。650~750字之间 ios开发者账号 申请 需要钱吗 这个是什么动漫的人物,全名是什么。 机床防尘罩有什么作用性能? dijkstra算法求该源顶点到其它所有顶点的最短路径和最短路径长度,并输出。用无向网邻接表存储结构。C语言 求最短路径Dijkstra和BELLMANFORD两种算法的C程序 用c语言编程 1创建图的邻接矩阵和邻接表 2验证图的深度优先、广度优先遍历算法 3验证最短路径 急急急!求个以邻接矩阵算最短路径距离的C#代码,要全图,最好可以求出网络的平均最短路径!有加分 校园网速度快视频卡…………360测网速基本都上2M的,用优酷,土豆看视频十多kb。蛋疼 我们的校园网一下载东西就掉线,看电影么问题,只要用迅雷等下载就掉,谁下载谁掉, 校园网能知道学生浏览什么吗? 用校园卡的流量浏览的网页可以被学校查到吗? 我有很严重的心理疾病好不了了怎么办? 得抑郁症了,就一辈子好不了了吗 我的病会不会一辈子都好不了了?我很自卑,很自卑,怎么办? 感冒一直好不了 失恋我好不了了么 一颗心碎了好不了了 感冒了一下子好不了 得了胃病要经常吃药,总是好不了,该怎么办? 落枕怎么好不了了? 10KVA的三相UPS,需要选择多大的空开? 10kw的设备后备时长至少一个小时需要多大ups KTV里面洋酒与红酒的扣法