标题:本人是计算机科学与技术专业学生对一些所谓的C语言实训练习已经能很好的掌握 ...
只看楼主
gyarenas
Rank: 1
等 级:新手上路
帖 子:1
专家分:1
注 册:2011-6-30
得分:1 
Introduction to Algorithms 或 The Art Of Computer Programming
2011-06-30 16:40
shaojiali
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2011-6-28
得分:1 
冒个泡哈!!!
2011-06-30 16:47
一届书生
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-7-2
得分:0 
回复 楼主 liuting8181
程序代码:
void ShortestPath_DIJ(MGraph G,int v0,PathMatrix_D &P,ShortPathTable &D)
{
    int *final,v,w,i,j,min;
    final=(int *)malloc(G.vexnum*sizeof(int));
    for(v=0;v<G.vexnum;++v){
        final[v]=FALSE;
        D[v]=G.arcs[v0][v].adj;
        for(w=0;w<G.vexnum;++w)
            P[v][w]=FALSE;
        if(D[v]<INFINITY){
            P[v][v0]=TRUE;
            P[v][v]=TRUE;}
    }
    D[v0]=0;
    final[v0]=TRUE;
    for(i=1;i<G.vexnum;++i){
        min=INFINITY;
        for(w=0;w<G.vexnum;++w)
            if(!final[w])
                if(D[w]<min){
                    v=w;
                    min=D[w];}
                final[v]=TRUE;
                for(w=0;w<G.vexnum;++w)
                    if(!final[w]&&min<INFINITY&&G.arcs[v][w].adj<INFINITY&&(min+G.arcs[v][w].adj<D[w])){
                        D[w]=min+G.arcs[v][w].adj;
                        for(j=0;j<G.vexnum;++j)
                            P[w][j]=P[v][j];
                        P[w][w]=TRUE;
                    }
    }
}
2011-07-08 23:27



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-344312-1-1.html




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

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