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

本文介绍了极大连通子图的概念,区分了无向图和有向图中的连通特性,并重点讲解了无向图中的连通分量。在有向图中,极大连通子图通常指的是强连通分量。同时,文章提供了一段Python3代码实现来找出图的极大连通子图。
摘要由CSDN通过智能技术生成

原理介绍

图分为无向图和有向图。

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

代码实现

# -*- coding:utf-8 -*-  
#====#====#====#====  
# __author__ = "liubc"
#FileName: *.py  
#Version:1.0.0 
#CreateTime:xxxx-xx-xx 
#====#====#====#====

from collections import deque
import sys

import matplotlib.pyplot as plt
import networkx as nx
import time
import openpyxl

'''求解极大连通子图'''
# 定义graph
G = nx.Graph()
class ConnectedSubgraph:
    '''
        function:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值