判断图的连通性
判断图的连通性
方法1(邻接矩阵存图)
大小为nxn的矩阵A中的每个元素aij表示i到j是否有通路,A^k(i,j)表示i到j的长为k的路径的条数。
可通过求矩阵的1-k次幂 看A^u(i,j)是否有大于0的值 u=1,2,3...k
方法2(邻接表存图)
dfs、bfs
方法3(邻接表存图)
并查集
int x1=0,x2=0; bool ff=1; for(int i=1;i<=m;i++){ if(e[i].ok){ if(f(e[i].u)!=f(e[i].v)){ ff=0; break; } else{ if(x1==0) x1 = f(e[i].u),x2 = f(e[i].v); else{ if(f(e[i].u)!=x2){ ff=0; break; } } } } }

浙公网安备 33010602011771号