思路什麼的應該都清楚,直接上原始碼(vs上以除錯)
此演算法用的是有向網結構儲存
#include
using
namespace std;
const
int max_vertex_num =20;
const
int ok =1;
const
int error =-1
;const
int overflow =-2
;const
int n_infinity =
65535
;typedef
int vrtype;
//表示頂點之間的關係的變數型別
typedef
int infotype;
//儲存弧或邊額外資訊的指標變數型別
typedef
int vertextype;
//圖中頂點的資料型別
typedef
int status;
typedef
struct
arccell, adjmatrix[max_vertex_num]
[max_vertex_num]
;typedef
struct
mgraph;
/******************函式宣告*******************/
status locatevex
(mgraph g, vertextype v)
;//根據頂點本身資料,判斷出頂點在二維陣列中的位置
status creatudg
(mgraph& g)
;//建立有向網
status printgraph
(mgraph g)
;status floyd
(mgraph& g,
int path[
][max_vertex_num]
,int dist[
][max_vertex_num]);
status showpath
(mgraph g,
int path[
][max_vertex_num]
,int start,
int end)
;/*************main*************/
intmain()
/**************函式定義****************/
status locatevex
(mgraph g, vertextype v)
}//如果找不到,輸出提示語句,返回error
if(i > g.vexnum)
return i;
}status creatudg
(mgraph& g)
for(
int i =
0; i < g.vexnum; i++)}
cout <<
"輸入頂點間的關係:"
<< endl;
for(
int i =
0; i < g.arcnum; i++
) g.arcs[n]
[m].adj = w;
}return ok;
}status printgraph
(mgraph g)
else
} cout << endl;
}return ok;
}status floyd
(mgraph& g,
int path[
][max_vertex_num]
,int dist[
][max_vertex_num])}
//計算最短路徑
for(k =
0; k < g.vexnum; k++)}
}}//列印floyd最短路徑的結果
cout <<
"floyd:"
<< endl;
cout <<
"最短路徑權值和矩陣:"
<< endl;
for(i =
0; i < g.vexnum; i++
)else
} cout << endl;
}return ok;
}status showpath
(mgraph g,
int path[
][max_vertex_num]
,int start,
int end)
cout <<
"->"
<< g.vexs[end]
<< endl;
return ok;
}
STL原始碼 演算法sort
sort演算法接受兩個randomaccessiterators 隨機訪問迭代器 然後對區間內元素以漸增方式由小到大排序 另乙個版本允許使用者指定排序方式。stl的所有關聯容器都擁有自動排序功能 以為底層的rb tree是自動排序的 因此,不需要使用sort演算法。順序容器中stack queue ...
KNN演算法原始碼解析
created on sep 16,2010 knn k nearest neighbors input inx vector to compare to existing dataset 1xn dataset size m data set of known vectors nxm labels...
Floyd演算法思想
本來 量如此小的演算法不用出模板了,但是的確思想還是很好的。1.定義概覽 floyd warshall演算法 floyd warshall algorithm 是解決任意兩點間的最短路徑的一種演算法,可以正確處理有向圖或負權的最短路徑問題,同時也被用於計算有向圖的傳遞閉包。floyd warshal...