鄰接表構建
鄰接表某個頂點遍歷
以上**
#include
#include
#include
#include
using
namespace std;
class
adjacencytable
void
setedge
(int s,
int e,
int weight)
void
getvertexinfo
(int vertex_index)
}public
: vector<
int> u, v, w;
// first[i]陣列儲存的是起始為頂點i的某條邊的編號
// next[i]表示的是編號為i的前一條邊的編號,即編號i和編號next[i]具有相同的起始的頂點
vector<
int> first, next;};
intmain()
table.
getvertexinfo(0);}
資料**注意輸入的結點是從1開始的,輸出調整為從0開始。
6
101 2 6
1 3 1
1 4 5
2 3 5
2 5 3
3 5 6
3 6 4
4 3 5
4 6 2
5 6 6
0->3:5
0->2:1
0->1:6
參考:
圖的儲存結構之鄰接表(詳解)
陣列實現鄰接表
之前我們介紹過圖的鄰接矩陣儲存法,它的空間和時間複雜度都是n 2,現在我來介紹另外一種儲存圖的方法 鄰接表,這樣空間和時間複雜度就都是m。對於稀疏圖來說,m要遠遠小於n 2。先上資料,如下 第一行兩個整數n m。n表示頂點個數 頂點編號為1 n m表示邊的條數。接下來m行表示,每行有3個數x y z...
C Dijkstra鄰接表實現
ifndef mapimplement h included define mapimplement h included include include define maxvertexnum 100 define infinity 65535 using namespace std typede...
C 實現鄰接表
對於無向圖 v0,v1 v1,v2 v2,v3 v0,v2 對應的鄰接表表示就是 在 中,你要單獨對v1 v2 v3建立一種結構體型別。在對後面的節點0,1,2,3建立一種結構體型別 1 include 2 include3 define vertex 4 4using namespace std ...