无向图的连通分量计算
题目:无向图的连通分量计算
连通分量即为连通子图的个数。
用一个flag数组来存放每个点的标记0
点i从0-n,每次遇到flag[]==0计数器++,每次将与点I邻接的点J进行标记,然后采用深度优先搜索的方式递归得标记与J邻接的点,最后与I在同一个连通分支的点均被标记,i往后走遇到有flag[]==0,说明有新的连通分支,于是进行相同的处理
#include<iostream>
using namespace std;
int n;
int g[105][105];
int flag[1005];
void dfs(int y) //将与点y连接的点标记,认为在一个连通分量
{for(int i=0;i<n;i++){if(flag[i]==0&&g[y][i]==1){flag[i]=1;dfs(i); //递归处理与点i在同一个连通分支的点 }}
}
int main()
{cin>>n;for(int i=0;i<n;i++)for(int j=0;j<n;j++)cin>>g[i][j];int sum=0;for(int i=0;i<n;i++){if(flag[i]==0) //遇到新的连通分支{sum++;flag[i]=1; //记得先标记自身dfs(i);}} cout<<sum;return 0;}
学校oj上直接输出1也是可以ac的哦/xyx
无向图的连通分量计算相关推荐
- leetcode323. 无向图中连通分量的数目
给定编号从 0 到 n-1 的 n 个节点和一个无向边列表(每条边都是一对节点),请编写一个函数来计算无向图中连通分量的数目. 示例 1: 输入: n = 5 和 edges = [[0, 1], [ ...
- LeetCode 323. 无向图中连通分量的数目(并查集)
文章目录 1. 题目 2. 解题 1. 题目 给定编号从 0 到 n-1 的 n 个节点和一个无向边列表(每条边都是一对节点),请编写一个函数来计算无向图中连通分量的数目. 示例 1: 输入: n = ...
- 使用并查集实现查找无向图的连通分量和求解有向图的强连通分量
目录 1.无向图的连通分量 2.求解连通分量算法的实现 3.有向图的强连通分量 4.求解有向图的强连通分量 使用C语言实现并查集 有向图和无向图 1.无向图的连通分量 无向图G中,如果存在从顶点v1到 ...
- 图论学习-无向图双连通分量
文章目录 无向图双连通分量 1.基本术语与概念 1.1.割点 1.2.桥 1.3.边双连通分量 (e-DCC) 1.4 点双连通分量 (v-DCC) 1.5 时间戳 2.求解 2.1 边双连通分量 2 ...
- 无向图——双连通分量
双连通图:在无向图连通图中,如果删除该图中的任意一点和依附它的边,不改变图的连通性,则称该图为双连通的无向图. 由上述定义可知,双连通分量中,每两个结点之间至少有两条不同的路径可以相互到达. 割点:在 ...
- 无向图双连通分量BCC(全网最好理解)
不是标题党,之前我也写过一篇比较全的,但是对于初学者不友好.传送门? 双连通分量(Biconnected component): 1.边双联通 E-BCC 2.点双连通 V-BCC 双 ...
- 求无向图的连通分量或有向图的强连通分量—tarjan()ccf高速公路
概念定义: 在图论中,连通图基于连通的概念. 1. 连通(无向图): 若顶点Vi能通过路径到达Vj,那么称为Vi和Vj是连通的 对无向图:若从顶点Vi到顶点Vj有路径相连(当然从j到i也一定有路径), ...
- 无向图双连通分量(DCC)
目录 1.边连通分量 1.冗余路径 2.点连通分量 1.电力 2.矿场搭建 1.边连通分量 边连通分量(e-DCC): 就是删除无向图的一条边,假如该图不连通了,则这条边叫做桥,边连通分量就是极大的不 ...
- 编写算法求无向图的连通分量的个数,求无向图的连通分量
利用深度遍历算法实现 int getNum(MGraph G) { int i, count = 0; for(i = 0; i < G.vexnum; i++) visited[i] = fa ...
最新文章
- Jenkins 插件 地址证书报错问题解决思路
- ROP简单 ret2syscall
- python项目飞机大战
- 【Python】利用 Python 分析了一波月饼,我得出的结论是?
- gorm配置logger显示执行的sql
- OllyDebug调试技巧(三)
- RDS使用只读副本和多AZ的区别在于数据复制的机制
- Nvidia CUDA初级教程2 并行程序设计概述
- Python测试开发django5.urls.py参数name与a标签的引用
- 清爽娱乐网系统源码 v5.69
- python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...
- python中判断对象是否可迭代
- window 装oracle,在Window下安装Oracle
- 10个 截屏工具 FastStone Capture9.3注册码
- 清理电脑里的流氓软件/插件/弹窗
- 敏捷开发之道(六)计划(续)
- 如何使用 DiskGenius 合并分区
- 搜狗站长html标签验证,悦然建站分享:搜狗站长平台使用教程之添加网站
- csdn里面代码块颜色
- python海伦公式计算三角形面积