模板:
//陣列表示鄰接表
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,表...