CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

求负权最短路径 除了Bellman - Ford算法,有没有另一种算法可以判断出负开销回路的存在

楼主zdwang99(芳心)2005-06-04 18:45:52 在 C/C++ / C++ 语言 提问

因为Bellman   -   Ford只能求无负权回路的图的最短路径  
  我想找一种既可以计算出定点的非负无穷的最短路径长度,又可以报告出负开销回路的存在。  
   
  最好既有思想又有代码:)  
   
  谢谢! 问题点数:100、回复次数:11Top

1 楼mostideal(三甲)回复于 2005-06-05 17:31:14 得分 0

mark!!   学习。。Top

2 楼qhfu(改个名字)回复于 2005-06-05 18:05:11 得分 50

floyd算法   满足吗?    
  通过三个   for   循环,根据三角形定理。  
  伪代码:  
  w   =   n*n;//   w为n*n阶   矩阵,   n为图的顶点数   。  
  D(0)   =   w;  
  for(int   k   =   0;k<n;k++)  
          for(int   j=0;j<n;j++)  
                  for(int   i   =0;i<n;i++)  
                            d(i,j)(k)   =   min(d(i,j)(k-1),d(i,k)(k-1)+d(j,k)(k-1));  
  return   D(n);  
  //   d(i,j)(k)表示矩阵D(k)的第i行,j列。  
     
   
  Top

3 楼zdwang99(芳心)回复于 2005-06-05 23:30:46 得分 0

floyd算法也只能求没有负回路的情况  
  并不能判断出负回路的存在阿  
  不过还是谢谢Top

4 楼nasi00(莫傲·逍遥)回复于 2005-06-06 02:29:26 得分 50

bellman-ford可以判断负回路阿  
   
  你的意思是不是既要判断负回路,又要找到那些两点间的路径没有负回路的最短距离呢?Top

5 楼zdwang99(芳心)回复于 2005-06-06 23:27:20 得分 0

是的  
   
  据我所知,有方法可以使复杂度控制在O(n*e)  
   
  可是不知道算法的具体思想Top

6 楼nasi00(莫傲·逍遥)回复于 2005-06-07 03:53:29 得分 0

没研究过,不知道可不可以采用这种思想(猜测阿   ^_^):找到负回路,然后去掉,再求最短路径Top

7 楼zdwang99(芳心)回复于 2005-06-07 14:13:40 得分 0

呵呵,要是发现有负回路,就可以终止算法了,就不用继续求喽  
  不过还是谢谢你:)  
  Top

8 楼nasi00(莫傲·逍遥)回复于 2005-06-09 03:27:10 得分 0

你不是说要发现负回路,还要求出没有负回路经过的点的最短路径么?  
   
  那你可以在发现负回路以后把这条路径上的点统统去掉阿,原理上行得通的……,不过这样也有些问题,因为去掉这些点就改变了图的结构了,很可能会去掉一些影响结果的边   -_-#Top

9 楼zdwang99(芳心)回复于 2005-06-11 10:36:28 得分 0

呵呵,你真好  
  顺便问你一下,如果图中有负边,但是没有负回路,不知道Djistra算法能不能用啊?  
  Top

10 楼qhfu(改个名字)回复于 2005-06-11 19:53:49 得分 0

Djistra算法对于有负边的图是不能用的Top

11 楼nasi00(莫傲·逍遥)回复于 2005-06-14 18:53:03 得分 0

负边用不了Dijkstra的,这个是一定的咯   ^_^Top

相关问题

  • 算法:求汉密尔顿回路路径长度最短
  • 如何返回路径?(急!)
  • 求最佳路径算法问题
  • 路径规划算法问题,
  • 求助,求有向图中所有简单回路的算法
  • 急求求最小树和独立回路的算法
  • 求另外的最短路径算法(s到t点)的,除了Dijkstra算法以外???
  • 谁知道,有关于GIS的最短路径的算法!
  • 关于求最近路径的算法(参与者有分)
  • 急,课程设计,最短路径算法,500分

关键词

  • 算法
  • 代码
  • 负
  • bellman
  • ford
  • 短路径
  • 权
  • 出负开销
  • 回路的存在
  • 图

得分解答快速导航

  • 帖主:zdwang99
  • qhfu
  • nasi00

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo