麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Bellman-Ford算法

2019-11-14 09:01:53
字體:
來源:轉載
供稿:網友
/*Bellman-Ford算法偽代碼:for(i=0;i<n-1;i++)//執行n-1輪操作,其中n為頂點數{	for(each edge u->v)//每輪操作都遍歷所有邊	{	if(d[u]+length[u->v]<d[v])//以u為中介點可以使d[v]更小		{			d[v] = d[u] + length[u->v];//松弛操作		}	}}for(each edge u->v)//對每條邊進行判斷{	if(d[u] + length[u->v]<d[v])//如果仍可以被松弛	{		return false;//說明圖中有從源點可達的負環	}}return true;*///下面是完整Bellman-ford算法的代碼,圖是鄰接表形式,時間復雜度為O(VE)//若是鄰接矩陣形式,時間復雜度會到O(V^3)#include<vector>#include<algorithm>using namespace std;const int MAXV = 1000;const int INF = 1000000000;struct Node{	int v, dis;//v為鄰接邊的目標頂點,dis為鄰接邊的邊權};vector<Node> Adj[MAXV];//圖G的鄰接表int n;//n為頂點數,MAXV為最大頂點數int d[MAXV];//起點到達各點的最短路徑長度bool Bellman(int s)//s為源點{	fill(d, d + MAXV, INF);	d[s] = 0;//起點s到達自身的距離為0			 //以下為求解數組d的部分	for (int i = 0; i < n - 1; i++)//執行n-1輪操作,n為頂點數	{		for (int u = 0; u < n; u++)//每輪操作都遍歷所有的邊		{			for (int j = 0; j < Adj[u].size(); j++)			{				int v = Adj[u][j].v;//鄰接邊的頂點				int dis = Adj[u][j].dis;//鄰接邊的權				if (d[u] + dis < d[v])//以u為中介點可以使d[v]更小				{					d[v] = d[u] + dis;//松弛操作				}			}		}	}	//以下為判斷負環的代碼	for (int u = 0; u < n; u++)//對每條邊進行判斷	{		for (int j = 0; j < Adj[u].size(); j++)		{			int v = Adj[u][j].v;//鄰接表的頂點			int dis = Adj[u][j].dis;//鄰接邊的邊權			if (d[u] + dis < d[v])//如果仍可以被松弛			{				return false;//說明圖中有從源點可達的負環			}		}	}	return true;//數組d的所有值都已經達到最優}/*實質是對最短路徑樹的逐層松弛*/
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美一级黄色网 | 国产一级毛片a | 成人福利在线播放 | 一级大片一级一大片 | 夜夜夜操操操 | 免费看成年人视频在线 | 精品一区二区久久久久久久网精 | 久久亚洲成人网 | 九九热精品免费视频 | 午夜精品久久久久久久久久久久久蜜桃 | 斗破苍穹在线观看免费完整观看 | 日日碰日日操 | 成人国产精品齐天大性 | 凹凸成人精品亚洲精品密奴 | 精品亚洲免费 | 国产亚洲精品成人 | 国内毛片视频 | 日本欧美一区二区 | 爱操视频 | 青草av.久久免费一区 | 午夜亚洲影院 | 国产一区二区三区色淫影院 | 欧美一级做性受免费大片免费 | 神马久久精品综合 | 久久福利剧场 | 色悠悠久久久久 | 国产精品99久久99久久久二 | 国产精品久久久久久久模特 | 日韩字幕 | 国产精品久久久久久久久久大牛 | 91资源在线观看 | 国产精品免费大片 | 亚洲精品久久久久久久久久 | 中日韩乱码一二新区 | 美女被免费网站在线软件 | 永久免费在线观看av | 国产一级性生活视频 | 成人午夜视频在线观看免费 | 美女羞羞视频网站 | 羞羞视频.www在线观看 | 美女羞羞视频在线观看 |