dijkstra

Posted ww123

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dijkstra相关的知识,希望对你有一定的参考价值。

#defien Max 5000
int n,m,k;
typedef pair<int,int> pai;
vector<int>v;
vector <pai> vec[Max];
void dij()
{
    int dis[Max];
    memset(dis,INF,sizeof(dis));
    dis[t]=0;
    queue <int> qu;
    qu.push(t);
    while(!qu.empty())
    {
        int k=qu.front();
        qu.pop();
        for(int i=0;i<vec[k].size();i++)
        {
            if(dis[vec[k][i].first]>dis[k]+vec[k][i].second)
            {
                dis[vec[k][i].first]=dis[k]+vec[k][i].second;
                qu.push(vec[k][i].first);
            }
        }
    }
}
int main()
{
    scanf("%d%d",&n,&m);
    for(int i=1;i<=m;++i)
    {
        int x,y,z;
        scanf("%d%d%d",&x,&y,&z);
        vec[x].push_back(pai(y,z));
        vec[y].push_back(pai(x,z));
    }
    dij();
}

 

以上是关于dijkstra的主要内容,如果未能解决你的问题,请参考以下文章

1.Dijkstra算法求解格栅地图路径matlab代码

1.Dijkstra算法求解格栅地图路径matlab代码

1.Dijkstra算法求解格栅地图路径matlab代码

计算图的最短距离--Dijkstra算法

如何将此代码从 Dijkstra 转换为 Astar?

java代码实现Dijkstra算法求图的最短路径