一个图的连通子图个数

图论(3)子图,图运算,路与连通性 目录 一、子图相关概念 1.子图概念 2.点导出子图与边导出子图 点导出子图 边导出子图 3.图的生成子图 二、图运算 1.图的删点、删边运算 删点运算 删边运算 2.图的并运算 3.图的交运算 4.图的差运算 5.图的对称差运算或环和运算 6.图的联运算 7.图的积图 8.图的合成图 三、路与连通性 1.路与圈的相关概念 图中的途径 图中的迹 图中的路... 阅读详情

问题描述:给出一个无向图,输出图中连通分支的个数。无向图的连通分支是一个子图,因此在子图两个节点之间至少存在一个路径。

 输入:给出一个连通图的二维数组

01000

10100

01000

00000

00000

输出:联通子图的个数

思路:从二位数组的第一行开始遍历,只遍历上三角(因为无向图是对称的),遍历第i行如果map中没有i把i加入到map中,然后对第行的每个值进行遍历,当gid【i】【j】的值为1的时候,把j放入堆栈中,遍历完第行之后,对堆栈中的数据(j)出栈,把其放入map中,然后对第j行进行遍历,按照这个方式直到堆栈为空,Num++,计算出了一个联通子图。

代码:

#include<iostream>
#include<map>
#include<stack>
using namespace std;
int GetStack(int(*d)[5], int i, int n, stack<int> &st)
{
int j;
for(j = i;j<n;j++)
{
if(d[i][j] == 1)
{
st.push(j);
}
}
return st.size();
}


int GetChildGrape(int  (*gid)[5],int n)
{
stack<int> st;
map<int,int> mapstor;
int num =0;
int i;
for(i =0;i<n;i++)
{
if(mapstor.count(i)==1) continue;
else mapstor[i] = 1;
int result = GetStack(gid,i,n,st);
if(result ==  0)
{
num++;
}
else
{
while(st.size() != 0)
{
int tmp = st.top();
mapstor[tmp] = 1;
st.pop();
GetStack(gid,tmp,n,st);
}
num++;
}
}
return num;
}
int main()
{
int gid[5][5] ={{0,1,0,0,0},{0,0,1,0,0}};
int n = 5;
int result =  GetChildGrape(gid,n);
cout<<result<<endl;
}



找出一个图中所有的强连通子图 如果一个有向图中的没对顶点都可以从通过路径可达,那么就称这个图是强连通的。一个 strongly connected component就是一个有向图中最大的强连通子图。下图中就有三个强连通子图: 应用kosaraju算法,可以在O(v+e)的时间内找到强连通子图。下面是kosaraju算法的具体步骤: 1,创建一个stack,对图进行深度优先遍历。对于每一个节点,当应用DFS遍历其所 阅读详情

相关推荐

极大连通子图原理介绍及代码实现Python3版

原理介绍 图分为无向图和有向图。 无向图中的极大连通子图也叫连通分量。无向图可以分成两种类型:连通的无向图、不连通的无向图。连通的无向图只有一个极大连通子图,即它本身,因为不存在另一个连通的子图包含的点和边比它本身还要多,所以叫作极大连通子图。不连通的无向图可以拆分为若干个连通的无向图,如果我们在拆分时注意把能连通的点边都放在一个连通子图中,使这个连通子图足够大,以至于再多包含一个点或边它就变...

不吃包子 4063

判断图的连通子图个数

题目要求 给定一个具有n个顶点、m条边的无向图G,假设项点的编号为1-n。基于深度优先搜索算法,编写程序 求无向图G连通子图的个数。 输入格式: 第一行两个整数n, m,分别表示图G的顶点数和边的数量。 下面m行的每-行有两个整数a和b,分别表示顶点a和顶点b有一条边相连。 输出格式: 输出一个整数,表示图G中连通子图的数量。 输入样例: 5 3 1 2 1 3 4 5 输出样例: 2 思路 由于...

举个锤子的博客 4762

连通子图个数leetcode-lab-network-analysis:实验室网络分析

连通子图个数 实验室:网络分析 介绍 网络分析(也称为图分析)是数据分析中一个非常重要、非常有用但经常被低估的部分。 它的主要目的是检查实体之间的关系。 网络分析最明显的目标之一是社交网络,其中实体是人,它们之间的关系基于某人是否与其他人是朋友(或已关注)。 然而,仅将网络分析应用于社交网络是有局限性的,并且仅仅触及了您可以用它做的事情的皮毛。 网络实际上无处不在:它们无处不在。 看看你周围。 你看到的每一个物体都是一个实体,它们可以根据它们的任何共同点作为网络的一部分相互连接——无论它们是否属于你,它们是电子的,它们是书写工具,它们是家具,它们位于同一个房间,等等。当你练习以这种方式思考连接时,你就会开始看到无处不在的网络。 这是您在分析网络时应该使用的思维类型。 目标 了解网络/图分析的基础知识 使用 Python Networkx 库从头开始构建图形 计算图统计并进行基本的网络分析 从熊猫数据框中的现有数据创建图形 从网络数据创建数据可视化 对网络图进行更深入的分析 了解如何在最终项目中加入网络分析 图论和网络组合 是对称为图的数学结构的研究,它对实体之间的成对关系进行建模。 图

C语言数据结构:无向图连通子图

C语言图的数据结构上机作业。 求无向图的连通子图数目。

NI3E 3428

人大金仓V8R3企业版License更新全攻略:从查看到重启一步到位

本文详细解析了人大金仓V8R3企业版License更新的完整运维流程,涵盖从诊断当前授权状态、获取与验证新文件、精准定位旧文件路径,到安全替换文件及服务重启验证的全过程。重点针对更新流程中常见的版本匹配、文件定位、权限与服务重启等关键环节提供了实战解决方案和避坑指南,帮助运维人员高效、平稳地完成授权续期。

redis7keeper的博客 902

在Cursor中集成Ollama与Qwen2.5‑Coder:零成本本地AI开发环境搭建

本文详细介绍了如何零成本搭建本地AI开发环境,通过将Cursor IDE与本地运行的Ollama及Qwen2.5-Coder模型集成,实现数据不出本地的智能编程辅助。教程涵盖Ollama安装、模型拉取、ngrok内网穿透配置及Cursor设置等核心步骤,并提供了实战测试与常见问题排错指南,为注重隐私与成本的开发者提供安全高效的解决方案。

weixin_29296241的博客 1073

基本图算法:强连通子图

对于给定的图G,如何取得其分解求的其强连通子图? 定义  Gt 为transpose(G),将所有的边反向DFS(G)对G进行深度优先搜索。d[u] f[u]节点u的开始和结束时间算法DFS(G),节点按照f降序排列 计算 Gt计算DFS(Gt)最后获得的tree中有所有的连通子图。

xiaopei的博客 4025

用PyTorch和snnTorch库5分钟搞定一个脉冲神经网络(SNN)手写数字识别Demo

本文详细介绍了如何使用PyTorch和snnTorch库快速搭建一个脉冲神经网络(SNN)手写数字识别Demo。通过模拟生物神经元的脉冲发放机制,SNN在低功耗场景中展现出独特优势。文章涵盖环境配置、数据预处理、模型构建、训练评估全流程,并提供了性能优化技巧和常见问题解决方案,帮助开发者在5分钟内实现高效的SNN应用。

weixin_29300931的博客 393

1241: Graph Connectivity

<br /> 1241: Graph ConnectivityResultTIME LimitMEMORY LimitRun TimesAC TimesJUDGE3s8192K551201Standard<br />Consider a graph G formed from a large number of nodes connected by edges. G is said to be connected if a path can be found in 0 or more steps betwe

kongming_acm的专栏 776

三端口DC-DC变换器设计与光伏储能协同控制

三端口DC-DC变换器是面向分布式能源系统的关键功率变换拓扑,通过在光伏输入、储能电池与直流负载三个端口间实现动态能量分配,解决多源异步供电下的电压稳定与功率平衡问题。其核心原理基于双Boost半桥架构与双闭环协同控制,融合MPPT最大功率点跟踪与电池智能充放电管理,在保证30V高精度稳压(±0.5V)的同时,支持光伏主导供电与电池支撑供电的自动模式切换。该技术显著提升光储系统能量利用率与供电连续性,广泛应用于微电网、便携式交直流电源及离网型光储一体机等场景,是构建柔性直流配电与智能能源管理的基础硬件单元。

weixin_36431814的博客 142

Lumerical官方案例、FDTD时域有限差分法仿真学习(十四)——超透镜(Metalens)

这个例子的目的是设计一个由圆柱形纳米棒组成的衍射超透镜。 纳米棒的半径和排列经过调整以在超透镜表面上产生所需的相位分布。 该设计通过近场和远场分析在 Ansys FDTD、RCWA(严格耦合波分析)和 OpticStudio 中得到验证。...

weixin_45719141的博客 3万+

N结点二叉树中M个结点的连通子图个数

[b]给定一棵有N个结点的二叉树。求它的所有结点数为M的连通子图数目。[/b] 设以n为根的结点数为m的连通子图数目 dp[n][m] dp[n][m] = dp[2n][m-1] //左孩子 +dp[2n+1][m-1] //右孩子 +SUM { dp[2n][i] * dp[2n+1][m-1-i]} //1...

Juliet 505

2026华为OD机试(C语言)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD机试真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+

极大连通子图与极小连通子图(带图讲解)

首先我们先对什么连通图做一个基本了解 连通图:

tong1557在哪里 13万+

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

R语言基于机器学习三分类结果、计算三分类混淆矩阵、计算每一个类别对应的特异度(specificity)、灵敏度(sensitivity)、PPV、NPV

data+scenario+science+insight 654

SAP_MM模块采购订单显示含税价&不含税简介

不含税价(Net Price):基础商品价格,不包含税金。含税价(Gross Price):基础价格加上适用税金后的总价。在SAP中,采购订单通常以不含税价为基础,通过配置税码和定价方案,系统会自动计算含税总价。

我小时候很黑的博客 2303

(看了包会)连通子图、连通分量、极大连通子图、极小连通子图

无向图 连通 在无向图中,若从顶点v到顶点w有路径存在,则称v和w是连通的。(连通是两个顶点之间存在路径,注意是路径不是边,是顶点之间的关系) 连通图与非连通图 若图中任意两个顶点都是连通的,那么就称这个无向图是连通图,否则是非连通图。(若一个图中有n个顶点,并且边数小于n-1,则此图一定是非连通图) 连通分量(也就是极大连通子图) 无向图中极大连通子图称为连通分量。 无向图分为连通图...

Mmyine的博客 2万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

图的基本概念辨析,包括连通图、极大连通子图、连通分量、强连通图、极大强连通子图等

图的基本概念辨析,包括连通图、极大连通子图、连通分量、强连通图、极大强连通子图等

qq_45004419的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

极大连通子图与极小连通子图

无向图 连通图: 在无向图中,若从定点V1到V2有路径,则称顶点V1和V2是连通的。如果图中任意一对顶点都是连通的,则称此图是连通图。(连通的无向图)极大连通子图: 1.连通图只有一个极大连通子图,就是它本身。(是唯一的) 2.非连通图有多个极大连通子图。(非连通图的极大连通子图叫做连通分量,每个分量都是一个连通图) 3.称为极大是因为如果此时加入任何一个不在图的点集中的点都会导致它不再连通。 下图为非连通图,图中有两个极大连通子图(连通分量)。极小连通子图: 1.一个连通图的生成树是该连通图顶点集确定的

子非鱼的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

极大连通子图和极小连通子图的定义及讲解

之前学习到图论的时候,对于极大连通子图和极小联通子图的概念不是特别理解,上网查找以后发现网上并没有给出特别详细,浅显易懂的讲解,为了帮助大家更好的理解这两个概念,我做了一些比较详细的总结,希望能帮到大家。 首先,我们了解一个相关的概念(重要): 连通分量(connected component):无向图中的极大连通子图(maximal connected subgraph)称为原图

ll520hmx的博客 5万+

数据结构——图:极大小连通子图、图的存储结构、图的遍历

图的基本概念: 极大连通子图就是连通分量。 极大连通子图与连通分量在无向图(undirected graph)这个前提下是等同的概念。 极小连通子图:减去任何一条边就不再连通。 不管树还是二叉树:n个节点,n-1条边。 有n-1条边的连通图,一定是生成树。 连通图边数一定大于n-1条。去掉一些边,剩下n-1条边,而且是连通的,那就是连通图的生成树。 数据结构...

tyfwin的博客 6390

关于极大连通子图与极小连通子图的解释

对于极大连通子图,我们可以把它分成3各部分来看 1.必须是子图(子图中的顶点、边都是原图的子集) 2.连通(对于两个顶点u、v,如果存在u到v的边,那这两个点就是连通的) 3.极大 个人觉得问题主要在于这个极大的理解。这个极大是指的边数(edge)极大,这个极大是在原图的边中的极大(也就是说,子图里面已经包括了原图中所有和子图中顶点有关的边)。之所以用极大而不用最大,是因为不仅仅有一个连通...

merlyn_yang的博客 4万+

<数据结构>无向连通子图个数求解(C语言版)

求无向连通子图个数

djs_snowyyy的博客 3326

求图的连通子图 python 使用 networkx (BFS, DFS)

本来这个问题应该是放在并查集里面一起说明,不过并查集篇幅比较大,就单独把这个问题拿出来了。 并查集的问题也可以转化为图的连通子图问题。给一个图G,返回它的所有不连通的子图。 1. 使用networkx包求图的所有不连通的子图 主要使用connected_components()方法。下面是一个例子。 import networkx as nx import matplotlib.pyplot as...

舍本逐末 2万+
上一篇: 10进制转化为-2进制
下一篇: vector的使用
lin_FS
博客等级 码龄15年 92粉丝 60原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值