立方集团 网站,wordpress评论qq,个人网站好备案吗,网络营销公司注册找哪家如果题目中#xff0c;以[[1,2],[1,3],[1,4],[2,3],....]这种方式给出边。可用使用vector建图。
首先定义一个二维的vector vectorvectorintg(n1);//n为顶点数 然后遍历每一条边#xff0c;假设遍历时两边的顶点分别为a,b。如果是无向边#xff0c;则可添加…如果题目中以[[1,2],[1,3],[1,4],[2,3],....]这种方式给出边。可用使用vector建图。
首先定义一个二维的vector vectorvectorintg(n1);//n为顶点数 然后遍历每一条边假设遍历时两边的顶点分别为a,b。如果是无向边则可添加顶点。 g[a].push_back(b); g[b].push_back(a); 图的遍历假设遍历a点的邻接点 for(auto ne:g[a]){ 处理ne } dfs遍历无向图后序遍历 dfs(i) for (auto ne:g[i]) dfs(ne) 处理i 这样写会重复遍历为了防止遍历的时候走回去需要多一个参数来记录上一个走的是什么。 dfs( i , pre ) : for( auto ne:g[i] ): if nepre|| ne i continue dfs(ne) 处理i