//数据结构如下
struct Road {
int node_1;
int node_2;
};
// 极大连通图
struct ConnectedGroup {
std::vector<Road> roads;
};
void FindMaxConnectedGroups(const std::vector<Road>& roads, std::vector<ConnectedGroup>& groups);
基本思路:
1.将roads集合中所有点提取出来:遍历roads,set去重
2.从顶点开始遍历
1)设置bool visited数组,判断某一点是否已经被访问
2)确定某一顶点要加入时,要向集合中加入对应的边Road