题目:无向图的连通分量计算

连通分量即为连通子图的个数。

用一个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

无向图的连通分量计算相关推荐

  1. leetcode323. 无向图中连通分量的数目

    给定编号从 0 到 n-1 的 n 个节点和一个无向边列表(每条边都是一对节点),请编写一个函数来计算无向图中连通分量的数目. 示例 1: 输入: n = 5 和 edges = [[0, 1], [ ...

  2. LeetCode 323. 无向图中连通分量的数目(并查集)

    文章目录 1. 题目 2. 解题 1. 题目 给定编号从 0 到 n-1 的 n 个节点和一个无向边列表(每条边都是一对节点),请编写一个函数来计算无向图中连通分量的数目. 示例 1: 输入: n = ...

  3. 使用并查集实现查找无向图的连通分量和求解有向图的强连通分量

    目录 1.无向图的连通分量 2.求解连通分量算法的实现 3.有向图的强连通分量 4.求解有向图的强连通分量 使用C语言实现并查集 有向图和无向图 1.无向图的连通分量 无向图G中,如果存在从顶点v1到 ...

  4. 图论学习-无向图双连通分量

    文章目录 无向图双连通分量 1.基本术语与概念 1.1.割点 1.2.桥 1.3.边双连通分量 (e-DCC) 1.4 点双连通分量 (v-DCC) 1.5 时间戳 2.求解 2.1 边双连通分量 2 ...

  5. 无向图——双连通分量

    双连通图:在无向图连通图中,如果删除该图中的任意一点和依附它的边,不改变图的连通性,则称该图为双连通的无向图. 由上述定义可知,双连通分量中,每两个结点之间至少有两条不同的路径可以相互到达. 割点:在 ...

  6. 无向图双连通分量BCC(全网最好理解)

    不是标题党,之前我也写过一篇比较全的,但是对于初学者不友好.传送门? 双连通分量(Biconnected component):     1.边双联通 E-BCC     2.点双连通 V-BCC 双 ...

  7. 求无向图的连通分量或有向图的强连通分量—tarjan()ccf高速公路

    概念定义: 在图论中,连通图基于连通的概念. 1. 连通(无向图): 若顶点Vi能通过路径到达Vj,那么称为Vi和Vj是连通的 对无向图:若从顶点Vi到顶点Vj有路径相连(当然从j到i也一定有路径), ...

  8. 无向图双连通分量(DCC)

    目录 1.边连通分量 1.冗余路径 2.点连通分量 1.电力 2.矿场搭建 1.边连通分量 边连通分量(e-DCC): 就是删除无向图的一条边,假如该图不连通了,则这条边叫做桥,边连通分量就是极大的不 ...

  9. 编写算法求无向图的连通分量的个数,求无向图的连通分量

    利用深度遍历算法实现 int getNum(MGraph G) { int i, count = 0; for(i = 0; i < G.vexnum; i++) visited[i] = fa ...

最新文章

  1. Jenkins 插件 地址证书报错问题解决思路
  2. ROP简单 ret2syscall
  3. python项目飞机大战
  4. 【Python】利用 Python 分析了一波月饼,我得出的结论是?
  5. gorm配置logger显示执行的sql
  6. OllyDebug调试技巧(三)
  7. RDS使用只读副本和多AZ的区别在于数据复制的机制
  8. Nvidia CUDA初级教程2 并行程序设计概述
  9. Python测试开发django5.urls.py参数name与a标签的引用
  10. 清爽娱乐网系统源码 v5.69
  11. python零基础入门教程-零基础入门Python爬虫不知道怎么学?这是入门的完整教程...
  12. python中判断对象是否可迭代
  13. window 装oracle,在Window下安装Oracle
  14. 10个 截屏工具 FastStone Capture9.3注册码
  15. 清理电脑里的流氓软件/插件/弹窗
  16. 敏捷开发之道(六)计划(续)
  17. 如何使用 DiskGenius 合并分区
  18. 搜狗站长html标签验证,悦然建站分享:搜狗站长平台使用教程之添加网站
  19. csdn里面代码块颜色
  20. python海伦公式计算三角形面积

热门文章

  1. 色差仪测量粉末或膏状体颜色方法
  2. android 沉浸状态栏 之全局沉浸图片沉浸 webView
  3. 面向对象六大原则——迪米特法则
  4. 手动清除MY123.com
  5. 给AI一段故事,就能变成漫画,这个来自人大微软和北影的AI,要启发电影人的灵感...
  6. 双冒号::在python索引中的含义
  7. FANUC机器人关于 IO地址分配相关的故障报警诊断
  8. 比例信号测试仪器【PSG-02】
  9. 域名服务器虚拟主机购买,如何注册网站域名和购买虚拟主机
  10. JS 获取元素下指定的子元素