如果一张图使用邻接矩阵表示,做一次dfs的时间复杂度为O(n^2),n为节点数。要是获取所有的连通分量,那总的复杂度是O(n^3)吗?
可以用并查集来获取所有的联通分量,考虑到你是用邻接矩阵来存图的,那么也就是要遍历n^2条边,并不断统计祖先结点的个数(这里的祖先结点其实就是每一个联通分量的一个点),当并查集构造完成后也就得到了所有的联通分量,复杂度即为 n^2