陣列存鄰接表

2021-10-21 08:21:48 字數 509 閱讀 4593

模板:

//陣列表示鄰接表

int top=0;//向--點中存第top個邊

int head[max_n]=-1;//每個點在建立鄰接表時,棧頂的邊的編號

//邊的結構體

struct edgee[max_e];

void add(int u,int v)

void dfs()e[m];

int n;

int ans=n;//

void add(int u,int v)

//返回的是以u為根 的子樹的大小

int dfs(int u)

} res=max(res,n-size_u);//size_u在這裡用到

ans=min(ans,res);

return size_u;

}int main()

dfs(1);

cout

}yeah~~~~

陣列實現鄰接表

之前我們介紹過圖的鄰接矩陣儲存法,它的空間和時間複雜度都是n 2,現在我來介紹另外一種儲存圖的方法 鄰接表,這樣空間和時間複雜度就都是m。對於稀疏圖來說,m要遠遠小於n 2。先上資料,如下 第一行兩個整數n m。n表示頂點個數 頂點編號為1 n m表示邊的條數。接下來m行表示,每行有3個數x y z...

陣列模擬鄰接表

圖的鄰接矩陣儲存法,它的空間和時間複雜度都是n2,現在來介紹另外一種儲存圖的方法 鄰接表,這樣空間和時間複雜度就都是m。對於稀疏圖來說,m要遠遠小於n2。先上資料,如下。4 5 1 4 9 4 3 8 1 2 5 2 4 6 1 3 7 第一行兩個整數n m。n表示頂點個數 頂點編號為1 n m表示...

鄰接表(陣列實現)

之前我們介紹過圖的鄰接矩陣儲存法,它的空間和時間複雜度都是n2,現在我來介紹另外一種儲存圖的方法 鄰接表,這樣空間和時間複雜度就都是m。對於稀疏圖來說,m要遠遠小於n2。先上資料,如下。第一行兩個整數n m。n表示頂點個數 頂點編號為1 n m表示邊的條數。接下來m行表示,每行有3個數x y z,表...