新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> We choose to study algorithmic problems,  not because they are easy,  but because they are hard.
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机理论与工程『 算法理论与分析 』 → [求助]迪杰斯特拉算法和佛洛伊德算法 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 13471 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]迪杰斯特拉算法和佛洛伊德算法 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     chenapple 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:86
      门派:XML.ORG.CN
      注册:2006/5/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenapple发送一个短消息 把chenapple加入好友 查看chenapple的个人资料 搜索chenapple在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看chenapple的博客楼主
    发贴心情 [求助]迪杰斯特拉算法和佛洛伊德算法

    我要设计一个交通咨询系统设计(最短路径问题)

    用人们熟悉的交通咨询系统实例来验证迪杰斯特拉算法和佛洛伊德算法。  
    设计一个交通咨询系统,能让旅客咨询从任一个城市顶点到另一个城市顶点之间的最短路径或最低费用或最少时间等问题。对于不同咨询要求,可以输入城市间的路程或所需要时间或所需费用。设计分三个部分,一是建立交通网络图的存储结构;二是解决单源最短路径问题;最后再实现两个城市顶点之间的最短路径问题。


    各位高手有这两个算法的相关例子代码发上来,急用,谢谢!~~


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/8 20:17:00
     
     chenapple 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:86
      门派:XML.ORG.CN
      注册:2006/5/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenapple发送一个短消息 把chenapple加入好友 查看chenapple的个人资料 搜索chenapple在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看chenapple的博客2
    发贴心情 
    没人顶,自己顶上
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/8 21:27:00
     
     heyhelloworld 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:17
      积分:200
      门派:XML.ORG.CN
      注册:2006/2/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给heyhelloworld发送一个短消息 把heyhelloworld加入好友 查看heyhelloworld的个人资料 搜索heyhelloworld在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看heyhelloworld的博客3
    发贴心情 
    #include<iostream>
    using namespace std;

    const int len = 8;
    const double infinite = 3.14E38;//用一个比较大的浮点数表示无穷大
    void shortest_route(double *Graph[],int n,int u,double *d,int *p);//n为顶点的个数,u为原点

    int main(void)
    {
     double *Graph[len];
     int i,j;
     
     for(i = 0; i < len; i ++)
      Graph[i] = new double[len];

     for(i = 0; i < len; i ++)
      for(j = 0; j < len; j ++)
       Graph[i][j] = infinite;//初始化

     double ev;
     cin>>i>>j>>ev;
     while(i>=0 && j>=0 && i<len && j<len)
     {
      Graph[i][j] = ev;
      cin>>i>>j>>ev;
     }

     int u;
     cin>>u;
     double *d = new double[len];
     int *p = new int[len];
     shortest_route(Graph,len,u,d,p);
     
     for(i = 0; i < len; i ++)
     {
      if(p[i] != -1)
      {
       cout<<"the node of place "<<i<<" is: "<<p[i]<<endl;
       cout<<"the shortest distance from "<<u<<" to "<<i<<" is: "<<d[i]<<"\n"<<endl;
      }
     }

     for(i = 0; i < len; i ++)
      delete []Graph[i];

     delete []p;
     delete []d;

    // main();

     return 0;
    }

    void shortest_route(double *Graph[],int n,int u,double *d,int *p)
    {
     int i, x;
     int j;
     bool *s = new bool[n];
     double minev;

     for(i = 0; i < n; i ++)
     {
      d[i] = Graph[u][i];
      s[i] = false;

      if((d[i] < infinite) && (i != u))
       p[i] = u;
      else
       p[i] = -1;
     }
     s[u] = true;

     for(i = 1; i < n; i ++)
     {
      minev = infinite;
      for(j = 0; j < n; j ++)
       if((!s[j]) && (minev > d[j]))
       {
        minev = d[j];
        x = j;
       }

      if(minev == infinite)
       return;

      s[x] = true;

      for(j = 0; j < n; j ++)
       if((!s[j]) && (Graph[x][j] < infinite) && (d[x] + Graph[x][j] < d[j]))
       {
        d[j] = d[x] + Graph[x][j];
        p[j] = x;
       }
     }

     delete []s;
    }

    //数据结构教材上的只有一个迪杰斯特拉算法的

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/17 23:50:00
     
     chenapple 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:86
      门派:XML.ORG.CN
      注册:2006/5/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenapple发送一个短消息 把chenapple加入好友 查看chenapple的个人资料 搜索chenapple在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看chenapple的博客4
    发贴心情 
    谢谢你~~!!!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/18 1:28:00
     
     heyhelloworld 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:17
      积分:200
      门派:XML.ORG.CN
      注册:2006/2/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给heyhelloworld发送一个短消息 把heyhelloworld加入好友 查看heyhelloworld的个人资料 搜索heyhelloworld在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看heyhelloworld的博客5
    发贴心情 
    不客气,很喜欢和大家一起交流相互学习
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/19 23:41:00
     
     godric 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:54
      门派:XML.ORG.CN
      注册:2006/6/23

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给godric发送一个短消息 把godric加入好友 查看godric的个人资料 搜索godric在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看godric的博客6
    发贴心情 
    floyed:

    for(int k=1;k<=m;k++)
    for (int i=1;i<=m;i++)
      if (i<>k)
       for (int j=1;j<=m;j++)
         if (i<>j)&&(j<>k) dist[i][j]=min(dist[i][j],dist[i][k]+dist[j][k]);

    类似无向图传递闭包的算法。

    其实中学竞赛的书里面有江这个的,但是没有证明。

    p.s.
    我c++不是很好,可能有错,请见谅……

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/23 23:19:00
     
     chenapple 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:6
      积分:86
      门派:XML.ORG.CN
      注册:2006/5/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenapple发送一个短消息 把chenapple加入好友 查看chenapple的个人资料 搜索chenapple在『 算法理论与分析 』的所有贴子 引用回复这个贴子 回复这个贴子 查看chenapple的博客7
    发贴心情 
    谢谢~!!!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/6/24 19:25:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 算法理论与分析 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/6/2 8:24:56

    本主题贴数7,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    93.750ms