数据结构图之无线图求连通域个数

本文介绍了如何解决无向图中连通域个数的问题,主要方法包括深度优先搜索(DFS)和并查集。通过建立邻接表存储图的边,然后遍历邻接表,对每个未处理的节点进行DFS标记已访问,最终返回计数结果。给出的代码示例使用DFS实现了朋友圈问题的解决方案。
摘要由CSDN通过智能技术生成

对于无向图求连通域的个数,一般来说有两种方法:1、深度优先搜索2、并查集

例如:朋友圈问题,有5个人,五个人关系为0认识1,1认识2,3认识1,4谁也不认识[0,1][1,2][3,1],直接或间接有联系的人组成一个朋友圈,求5个人中朋友圈的个数。这种类型的题目在最近的笔试中频繁出现。现总结一下解题方法如下。

①建立邻接表来存储[0,1][1,2][3,1]具体方法可以是利用键值对存储边,再转换为邻接表。

声明长度为n的二位vector为邻接表,vector<vector<int ,int>> g(n);

②申请bool型一维数组V,并初始化为false

③遍历邻接表各行,并判断v[i]是否为false(false表示未处理过),若为false,res++ÿ

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值