【图算法】(1) 图论基础,网络建模,附networkx完整代码

大家好,今天和大家分享一下图算法中的一些基础知识,已经如何使用python中的networkx库实现网络图的基本建模操作。内容较多,可通过右侧目录栏跳转。


1. 邻接矩阵

1.1 方法介绍

邻接矩阵是图的等价表示,邻接矩阵的元素代表网络节点连线之间的交互关系

如图1,对于一个无向无权网络它的邻接矩阵A是一个对称矩阵。其中对角线元素都为0A_{ij}=0;无向表示节点之间的连线不区分方向,即节点之间是双向关系A_{ij}=A_{ji};无权代表节点之间的边没有权重,此时邻接矩阵A是由0,1元素组成的,如果节点之间存在连边那么元素等于1,否则等于0。

根据邻接矩阵求出网络所包含的连边的数量,邻接矩阵的所有非零元素加起来除以2。 L=\frac{1}{2}\sum_{i,j=1}^{N} A_{ij}

如图2有向无权网络,如果存在一条连边从节点 i 指向节点 j,那么 A_{ij}=1 ,有向网络不一定是对称的 A_{ij}\neq A_{ji}

如图3无向加权网络,和无向无权网络的区别就是,节点之间的连边有权重。因此邻接矩阵中的非零元素就不一定等于1了。网络的连边数量等于:邻接矩阵中非零元素的数量求和

如图4自环网络,存在从节点出发到它自身的连边,该邻接矩阵中,对角线元素不一定等于0,如果存在自环那么 A_{ij}=1


1.2 代码实现

(1)无向无权图

创建无向图(空图): nx.Graph()

添加节点: Graph.add_nodes_from()

添加连边: Graph.add_edges_from()

网络图可视化:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

立Sir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值