码迷,mamicode.com
首页 > 编程语言 > 详细

最短路算法

时间:2017-06-18 16:50:24      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:++   return   comment   ==   microsoft   mil   思想   span   str   

Floyd(hdu 1874)


for(int k=0;k<n;k++)
	for(int i=0;i<n;i++)
		for(int j=0;j<n;j++)
			e[i][j]=min(e[i][j],e[i][k]+e[k][j]);


k为枚举点,dp思想

Dijskstra(hdu 2112)

int dij()
{
	v[1]=1;
	dis[1]=0;
	//cout<<num<<endl;
	for(int i=2;i<num;i++)
	{
		dis[i]=road[1][i];
	}
	for(int i=1;i<num;i++)
	{
		int mn=inf;
		int k=-1;
		for(int j=1;j<num;j++)
		{
			if(!v[j]&&dis[j]<mn)
			{
				mn=dis[j];
				k=j;
			}
		}
		if(k==-1) break;
		v[k]=1;
		for(int j=1;j<num;j++)
		{
			if(!v[j])
			{
				if(dis[j]>road[k][j]+dis[k])
				{
					dis[j]=road[k][j]+dis[k];
				}
				//cout<<dis[j]<<endl;
			}
		}
	}
	return dis[2];
}


最短路算法

标签:++   return   comment   ==   microsoft   mil   思想   span   str   

原文地址:http://www.cnblogs.com/chinacwj/p/7044561.html

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