码迷,mamicode.com
首页 > 其他好文 > 详细

堆优化的dijkstra

时间:2018-02-26 23:10:30      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:queue   图片   技术   void   blog   直接   push   sed   分享图片   

技术分享图片
 1 struct node
 2 {
 3     int id,dis;
 4     bool operator < (const node &rhs) const
 5     {
 6         return dis>rhs.dis;
 7     }
 8 } ;
 9 priority_queue<node>q;
10 void dijkstra(int s)
11 {
12     for(int i=1;i<=n;i++)v[i]=0,d[i]=inf;
13     d[s]=0;
14     q.push((node){s,0});
15     while(!q.empty())
16     {
17         node ff=q.top();q.pop();
18         if(v[ff.id]==1) continue;
19         v[ff.id]=1;
20         for(int i=h[ff.id];i;i=e[i].ne)
21         {
22             if(d[ff.id]+e[i].c<d[e[i].v])
23             {
24                 d[e[i].v]=d[ff.id]+e[i].w;
25                 q.push((node){e[i].v,d[e[i].v]});
26             }        
27         }
28     }
29 }
View Code

直接看代码吧。

原理,不讲,我什么都不说

 

粪虫至秽,变为蝉而饮露于秋风。

堆优化的dijkstra

标签:queue   图片   技术   void   blog   直接   push   sed   分享图片   

原文地址:https://www.cnblogs.com/adelalove/p/8476260.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!