相关文章推荐
谦和的乌冬面  ·  MultipartFile的transfer ...·  9 月前    · 
奔放的蜡烛  ·  3.MP常用注解-AIZUDA - ...·  1 年前    · 

最近有用到关于邻接矩阵的一些问题,平时不太常用所以一直没注意到networkx里面的函数,权当笔记了,有兴趣查看官方文档,这里只举个小例子。

import networkx as nx  # 导入必要的函数包
import scipy as sp
import operator
import matplotlib.pyplot as plp
h = nx.Graph()  # 我这里需要用到的图
h.add_nodes_from(list(range(1, 9)))
h.add_edges_from([(1, 2), (1, 3), (1, 5), (1, 4), (2, 8), (2, 6), (3, 6), (4, 7)])
nx.draw_networkx(h)  # draw
plp.show()
print(nx.adjacency_matrix(h).todense())  # 返回图的邻接矩阵

图长这样:
在这里插入图片描述
输出的邻接矩阵:
在这里插入图片描述
ok,一个简简单单的邻接矩阵解决完毕。

最近有用到关于邻接矩阵的一些问题,平时不太常用所以一直没注意到networkx里面的函数,权当笔记了,有兴趣查看官方文档,这里只举个小例子。import networkx as nx # 导入必要的函数包import scipy as spimport operatorimport matplotlib.pyplot as plph = nx.Graph() # 我这里需要用到的图h.add_nodes_from(list(range(1, 9)))h.add_edges_from([( 邻接表(Adjacency List)顾名思义,就是通过链表或者利用数组模拟链表的方式将的相连接关系表示的一种方法,存储方法跟树的孩子链表示法相类似,是一种顺序分配和链式分配相结合的存储结构。如这个表头结点所对应的顶点存在相邻顶点,则把相邻顶点依次存放于表头结点所指向的单向链表中。 邻接矩阵: 逻辑结构分为两部分:V和E集合,其中,V是顶点,E是边。因此,用一个一维数组存放中所有顶点数据;用一个二维数组存放顶点间关系(边或弧)的数据,
from rdkit import rdBase, Chem from rdkit.Chem import AllChem, Draw from rdkit.Chem.Draw import rdMolDraw2D from IPython.display import SVG from matplotlib.colors import ColorConverter import networkx as nx import argparse import multiprocessing from rdkit
1、参照博客:http://blog.sina.com.cn/s/blog_ae43ef8d0102w5b6.html 需要特别注意的地方: (1)数据集中,结点的id不能从0开始,否则得到的邻接矩阵结果不对。若是从0开始的,需要删除。 (2)需要将 min(x)==0改为 min(x(:))==0。 (3)需要将 a=ainc2adj(x) 改为 b=ainc2adj(x)。 修改以上...
NetworkX是一个Python包,用于创建、操作和学习复杂网络。邻接矩阵是一种表示的数据结构,其中每个节点都表示为矩阵中的行和列,而边则表示为矩阵中的值。 在NetworkX中,可以使用nx.to_numpy_matrix()函数将转换为邻接矩阵。该函数返回一个NumPy矩阵,其中每个元素的值表示相应节点之间是否存在连接。 下面是一个简单的示例,演示如何使用nx.to_numpy_matrix()函数将转换为邻接矩阵: import networkx as nx import numpy as np # 创建一个简单的无向 G = nx.Graph() G.add_edges_from([(0, 1), (1, 2), (2, 3), (3, 0)]) # 将转换为邻接矩阵 matrix = nx.to_numpy_matrix(G) # 打印邻接矩阵 print(matrix) [[0. 1. 0. 1.] [1. 0. 1. 0.] [0. 1. 0. 1.] [1. 0. 1. 0.]] 在这个示例中,我们创建了一个简单的无向,并使用nx.to_numpy_matrix()函数将其转换为邻接矩阵。然后,我们打印了这个矩阵。注意,矩阵中的每个元素都是浮点数,而不是整数。这是因为在NetworkX中,可以包含带权边。如果中所有的边都是无权的,可以使用astype(int)将矩阵转换为整数类型。