用图解决飞机的航班最少问题!!

Mr__zhang 2008-01-11 04:00:49
要求:
有向图解决
有10个城市,编为A B ....,由用户输入所有有航班的城市:如 输入A B 30,即表示A城市到B城市有航班,且飞行时间为30分钟,依次输入。
最后用户输入其位置城,和要到达的城市。如 B F;
求:时间最短航班并输出

*******************************************
解决之后马上结贴!!谁的好给全部分,或大部分的分!!
...全文
264 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr__zhang 2008-01-13
  • 打赏
  • 举报
回复
进来的,赶紧给做下,今天晚上2点,准时结贴!!!
C1053710211 2008-01-11
  • 打赏
  • 举报
回复
如果是输入起点位置和结束位置的话就是每两点之间的最短距离,用FLOYED算法,动态规划O(n^3)

void Floyd(int c[][128],int n)
{
int i,j,k,a[128][128];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=c[i][j];
for(k=0;k<n;k++)
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(a[i][k]+a[k][j]<a[i][j])
a[i][j]=a[i][k]+a[k][j];
}

把每个城市当成点,城市间的距离表示成边,初始化不相邻的城市距离为无穷大,
其中C数组为这个图的邻近矩阵,n为城市总数
blusherbear 2008-01-11
  • 打赏
  • 举报
回复
最基本的最短路径搜索。
具体实现步骤:
1.定义一个图 Graph airportLines;
2.构造图,图的定点为城市集合,边的权值为两个城市间的飞行时间;
3.调用图对象求最短路径的函数,即可获取最短路径。
流程很简单,最简单的方法就是利用现有的图算法库,boost::graph功能强大,就是文档看起来有些吃力。
http://www.boost.org/libs/graph/doc/table_of_contents.html
MagiSu 2008-01-11
  • 打赏
  • 举报
回复
直接用Boost::Graph,很快就能解决。
beyond071 2008-01-11
  • 打赏
  • 举报
回复
Dijkstra最短路径搜索
ryfdizuo 2008-01-11
  • 打赏
  • 举报
回复
分数很诱惑啊,没时间找了,^_^
c语言版的以前倒是写过的,
ltc_mouse 2008-01-11
  • 打赏
  • 举报
回复
数据结构,图的最短路径问题,不过整个完整的代码应该不少~
搜索了个挺全的图的算法,希望对楼主有用,呵呵
http://www.fs119.net/plus/view.php?aid=23207&tid=53

64,282

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧