数学建模东南2011最短路问题_第1页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、最短路问题(short-path problem) HYPERLINK javascript:_doPostBack(_ctl0$MainContent$PostFlatView$_ctl0$PostRepeater$_ctl0$_ctl12,) 若网络中的每条边都有一个数值(长度、成本、时间等),则找出两节点(通常是源节点和阱节点)之间总权和最小的路径就是最短路问题。一般可归为以下四类问题:确定起点的最短路径问题:即已知起始结点,求最短路径的问题。确定终点的最短路径问题:与确定起点的问题相反,该问题是已知终结结点,求最短路径的问题。在无向图 中该问题与确定起点的问题完全等同,在有向图 中该问

2、题等同于把所有路径方向反转的确定起点的问题。确定起点终点的最短路径问题:即已知起点和终点,求两结点之间的最短路径。全局最短路径问题:求图中所有的最短路径。比较常用的路径算法:Dijkstra算法 、A*算法 、Bellman-Ford算法 、SPFA算法 (Bellman-Ford算法的改进版本)、Floyd-Warshall算法 、Johnson算法 、Bi-Direction BFS算法 。其中最经典的算法为Dijkstra算法 ,用Dijkstra算法 计算单源最短路径问题,其源代码如下:#includevoid main() int infinity=100,j,i,n,k,t,*w,

3、*s,*p,*d; coutn; coutendl; d=new int; s=new int; p=new int; w=new int*; for(i=0;in;i+) w=new int; for(i=0;in;i+) for(j=0;jwj; for(s0=1,i=1;in;i+) s=0;d=w0; if(dinfinity) p=0; else p=-1; for(i=1;in;i+) t=infinity;k=1; for(j=1;jn;j+) if(!sj)&(djt) t=dj;k=j; sk=1;/point k join the S for (j=1;jdk+wkj) d

4、j=dk+wkj;pj=k; cout从源点到其它顶点的最短距离依次如下:; for(i=1;in;i+) coutd ; IP 地址: 已登录 来自: 已登录 第 2 楼 HYPERLINK 2010-08-22, 02:36 上午 Andy 等级: 士兵 注册: 2010年8月17日 区域: Boulder, CO 积分: 14 精华: 0 发贴: 14Re: 最短路问题(short-path problem) HYPERLINK javascript:_doPostBack(_ctl0$MainContent$PostFlatView$_ctl0$PostRepeater$_ctl1$Favoritelinkbutton1,) Ive tried this algorithm and there is the possibility it might work. HYPERLINK / Free Online Slots HYPERLINK / iPod Troubleshooting Tips HYPERLINK / Satellite TV for PC HYPERLINK / Free Online S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论