c语言bellman算法,求 最短路径中BELLMAN FORD算法实现的C程序

匿名用户

1级

2010-06-01 回答

//这个是邻接表

typedef struct 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

{

dis[i]=MAXVALUE;

pre[i]=-1;

}

dis[s]=0;

for(i=0;i

{

p=node[i].next;

while(p)

{

if(p->len+dis[i]num])

{dis[p->num]=p->len+dis[i];pre[p->num]=i;}

p=p->next;

}

p=node[i].next;

while(p)

{

if(p->len+dis[i]num])

return false;

p=p->next;

}

}

for(i=0;i

{

printf("%d %d\n",i,dis[i]);

j=i;

while(j!=-1)

{

printf("%d ",j);

j=pre[j];

}

cout<

}

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

{

dis[i]=MAXVALUE;

pre[i]=-1;

}

dis[s]=0;

for(i=0;i

{

for(j=0;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

if(i!=j&&dis[j]>dis[i]+graph[i][j])

return false;

}

for(i=0;i

{

printf("%d %d\n",i,dis[i]);

k=i;

while(pre[k]!=-1)

{

printf("%d ",pre[k]);

k=pre[k];

}

cout<

}

return true;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gartner十大IT预测:七大数字巨头,有五家将心甘情愿“自我颠覆”

来源&#xff1a;凤凰科技 概要&#xff1a;Gartner的预测&#xff0c;以及支持这些预测的假设&#xff0c;表明企业首席信息官必须首先是业务战略师&#xff0c;然后才是技术专家。 Gartner的预测&#xff0c;以及支持这些预测的假设&#xff0c;表明企业首席信息官必须首先是…

谷歌花4亿英镑下注AI开始有回报 DeepMind创收了

来源&#xff1a;腾讯科技 概要&#xff1a;DeepMind虽然还保持独立运营&#xff0c;但其对于谷歌产品的贡献恰逢其时。该公司2016年对于Alphabet其他公司的产品和服务所作出的贡献价值4000万英镑&#xff0c;这也是该公司首次创收。 外媒指出&#xff0c;Alphabet子公司谷歌周…

2016全球教育机器人发展白皮书

来源&#xff1a;199IT互联网数据中心 概要&#xff1a;白皮书梳理了全球教育机器人发展现状与趋势。从教育机器人的全球重要研究机构、市场产品评测、需求调研、产业链分析及未来市场发展预测&#xff0c;进行阐述。 白皮书梳理了全球教育机器人发展现状与趋势。从教育机器人的…

android上的java编译器,Android Studio:需要一个java编译器

我在尝试运行android应用程序时遇到错误。我在Windows 8 64位上运行android studio 0.3.2。Android Studio&#xff1a;需要一个java编译器这里的错误java: System Java Compiler was not found in classpath:java.lang.ClassNotFoundException: com.sun.tools.javac.api.Javac…

谷歌硬件战略缺陷:无法围绕谷歌助手打造硬件体系

来源&#xff1a;元器件交易网 概要&#xff1a;谷歌希望大规模销售基于谷歌助手的硬件&#xff0c;战略调整或许是其中重要的一步。 谷歌是否犯了重大错误&#xff1f; 谷歌正在以“人工智能优先”的战略取代此前“移动优先”的战略&#xff0c;并公开地推进这一战略。这是个大…

android 代码 升级rom,ROM之家简析:Android手机系统怎么升级

Android系统现在基本上每年都会有一次大的升级&#xff0c;以及很多次小的升级&#xff0c;对于手机用户来说&#xff0c;当然希望自己能用上最新版本的系统。除了手机厂商也会在适当时间发布官方版本系统升级&#xff0c;也可以自己在网上下载安装第三方系统升级。目前安卓手机…

在这场人工智能“战争”中,这些国家都在做些什么?

来源&#xff1a;Future智能 概要&#xff1a; 人工智能是引领未来的战略性技术&#xff0c;世界主要发达国家都已经把发展人工智能都作为提升其国家竞争力、维护国家安全的重要战略&#xff0c;进行针对性布局&#xff0c;力图在新一轮国际科技竞争中掌握主导权。 人工智能是引…

android使用 注解框架,Android实践 | 注解框架ButterKnife基本使用

使用ButterKnife&#xff0c;我们可以不用写很多的findViewById()语句&#xff0c;以及通过getResources获取String、Color等资源&#xff0c;这可以让我们的代码更加简洁&#xff0c;使用起来也很方便。下面来看怎么用吧&#xff01;首先当然是添加依赖(建议去github查看最新版…

DeepMind成立DMES新部门,旨在研究AI带来的社会伦理问题

来源&#xff1a;36kr 概要&#xff1a;随着人工智能的发展越来越成熟&#xff0c;随之带来的伦理和道德问题也成为了社会讨论的焦点问题之一。DeepMind成立了一个新部门&#xff0c;旨在专门研究人工智能带来的社会伦理问题。 DMES将于2018年启动关于算法偏见、问责制和自主杀…

android 文本倒影,android案例---图片处理倒影效果

今天记录下看到的一个图片处理倒影效果&#xff0c;方便以后用到先看看效果device-2017-08-12-160216.pngas截出来的图貌似都挺大的ok&#xff0c;那我们现在来分析代码,完整代码/**** param context 上下文* param resId 图片id* param percent 倒影的深度* return Bitma…

Android模拟器启动3个g,android,模拟器_android 模拟器用3.18的内核无法启动,一直黑屏。,android,模拟器,内核 - phpStudy...

android 模拟器用3.18的内核无法启动&#xff0c;一直黑屏。今天git clone 了android 源码master分支&#xff0c;编译完成后启动模拟器发现系统版本是6.0.1&#xff0c;但是内核版本居然是3.4.67&#xff0c;而不是最新的版本3.18. 为什么源码里的内核没有同步更新呢&#xff…

干货|一文全解深度学习中的卷积

来源&#xff1a;1024深度学习 概要&#xff1a;卷积现在可能是深度学习中最重要的概念。正是靠着卷积和卷积神经网络&#xff0c;深度学习才超越了几乎其他所有的机器学习手段。 译自Tim Dettmers的Understanding Convolution in Deep Learning。有太多的公开课、教程在反复传…

零售业将成人工智能系统支出额最高的行业

来源&#xff1a;人工智能和大数据 概要&#xff1a;预计2017年零售业和银行业在认知和人工智能系统方面的支出最高&#xff0c;分别达到17.4亿美元和17.2亿美元。 根据IDC《全球半年度认知/人工智能系统支出指南》最新预测&#xff0c;到2021年&#xff0c;全球认知和人工智能…

android 来电模式设置,android在root模式下接听来电的方法

使用了Root Tools 来招待命令。https://code.google.com/p/roottools//*** 接听来电*/private void answerRingingCall(){try{Command command new Command(0, "input keyevent 5"){Overridepublic void output(int id, String line){Log.d(Tag, line);}};RootTools…

LeCun论战Markus:AI是否需要类似人类的认知能力?

来源&#xff1a;量子位 概要&#xff1a;LeCun指出&#xff0c;当代人工智能的成功在很大程度上依赖于不预先提供关于世界运转方式的假设或结构化概念。 一辆由人工智能驱动的自动驾驶汽车或许需要在模拟环境中撞树5万次&#xff0c;才能知道这是种错误的做法。相比之下&#…

...android平板办公,教科书式安卓全 面屏平板:华为MatePad Pro构建智慧办公新体验...

只要提及安卓平板&#xff0c;不少人内心会冒出「超大屏安卓手机」。只要是曾经体验过安卓平板的用户&#xff0c;亮屏后看到系统页面第一眼后&#xff0c;内心不禁会冒出一个大问号&#xff1a;这跟安卓手机有啥区别?既然都入手了&#xff0c;就要不断给自己灌输“它不是手机…

看完50多家阵亡的初创企业,我们发现了AI创业的5个行业潜规则

来源&#xff1a;物联网智库 概要&#xff1a;人工智能行业经过创业投资持续火爆增长的两年高峰期&#xff0c;在 2017 年&#xff0c;开始进入调整阶段。智能无人机、送餐迎宾机器人、虚拟助理、智能硬件已略显颓势。 人工智能行业经过创业投资持续火爆增长的两年高峰期&…

android客户端cookies,android – 将cookie添加到客户端请求OkHttp

有两种方法可以做到这一点&#xff1a;OkHttpClient client new OkHttpClient().newBuilder().cookieJar(new CookieJar() {Overridepublic void saveFromResponse(HttpUrl url, List cookies) {}Overridepublic List loadForRequest(HttpUrl url) {final ArrayList oneCookie…

一文看懂机器视觉芯片 ​

来源&#xff1a;半导体行业观察 概要&#xff1a;机器视觉的视力为何如此之强&#xff1f;关键在于芯片&#xff0c;核心是将一些特定图像算法用芯片方式实现&#xff0c;同时融入了深度学习和神经网络算法。 机器能否比人眼看得更清楚&#xff1f;近年来&#xff0c;随着CV(C…

html5爱情树怎么修改,jQuery结合HTML5制作的爱心树表白动画

HTML代码如下&#xff1a;复制代码 代码如下:程序员用HTML5制作的爱心树表白动画- 柯乐义本页面采用HTML5技术&#xff0c;目前您的浏览器无法显示&#xff0c;请使用支持HTML5的浏览器查看本页。亲爱的何文琪&#xff1a;曾经&#xff0c;有一份真挚的爱情摆在我面前&#xff…