| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 421 人关注过本帖
标题:Dijkstra算法,其中出现一个小问题,哪位大神帮帮忙!!!
只看楼主 加入收藏
犿蚂
Rank: 2
等 级:论坛游民
帖 子:29
专家分:23
注 册:2013-4-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
Dijkstra算法,其中出现一个小问题,哪位大神帮帮忙!!!
传到这个函数的变量为Dijkstra( &g_graph,2) ;
貌似是dist[]这个数组有问题  附件为Dijkstra算法的完整工程
Dijkstra.zip (10.28 KB)


void Dijkstra( ALGraph* aGraph,int v)/*aGraph为已知无向图,,v为路径的起始结点*/
{
    int dist[6] ,path[ 6] ;
    int s[ 6] ;
    int mindis,i,j,u;
    for( i=0;i<aGraph->n;i++)
    {
        dist[i] =INF;/*对dist数组进行初始化*/
        s[i] =0;/*对s数组进行初始化*/
        path[ i]=-1;/*对path数组进行初始化*/
    }
   
    EdgeNode* temEdge=aGraph->adjlist[v].firstarc;
    while( temEdge!=NULL)
    {
        dist[ temEdge->adjvex] =temEdge->info;
        path[ temEdge->adjvex] =v;
        temEdge=temEdge->nextrarc;
    }
    s[v] =1;path[v]=v;dist[v] =0;
    for( i=0;i<aGraph->n;i++)
    {
        mindis=INF;/*mindis的初始化*/
        for( j=0;j<aGraph->n;j++)
        {
            if( s[ j] ==0&&dist[ j] <mindis)
            {
                u=j;
                mindis=dist[ j] ;
            }
            s[u]=1;

            for( j=0;j<aGraph->n;j++)
            {
                if(s[j]==0)
                {
                    EdgeNode* temEdge=
                    isEdge( &(aGraph->adjlist[u]),&( aGraph->adjlist[j]));
                    if( temEdge!=NULL)
                    {
                        if((dist[u] +temEdge->info)<dist[j])
                        {
                            dist[j] =dist[u] +temEdge->info;
                            path[j] =u;
                        }
                    }
                }
            }
        }
    }
    Dispath( dist,path,s,aGraph,v);
}

[ 本帖最后由 犿蚂 于 2013-6-18 21:02 编辑 ]
2013-06-17 21:12
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
收藏
得分:7 

三十年河东,三十年河西,莫欺少年穷!
2013-06-18 09:43
犿蚂
Rank: 2
等 级:论坛游民
帖 子:29
专家分:23
注 册:2013-4-24
收藏
得分:0 
回复 2楼 韶志
目前确定是dist[]数组赋值的时候找最短路径找错了
2013-06-18 20:48
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:7 
恭喜LZ找到问题了
2013-06-19 15:35
暗杠
Rank: 1
等 级:新手上路
帖 子:4
专家分:7
注 册:2013-6-10
收藏
得分:7 
新手,求大师指导啊, QQ  65215015
2013-06-19 15:52
犿蚂
Rank: 2
等 级:论坛游民
帖 子:29
专家分:23
注 册:2013-4-24
收藏
得分:0 
回复 5楼 暗杠
大师??
2013-08-15 15:16
快速回复:Dijkstra算法,其中出现一个小问题,哪位大神帮帮忙!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019686 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved