networkx edge-to-node 节点到边缘表示

networkx edge-to-node node-to-edge representation

有一个图 G(e,v),有 N 个节点和 M 条边。它的距离矩阵,D是一个NxN的矩阵。

现在让我们想象一下此图的另一种表示形式 G'(e'=v,v'=e),即 G' 中的节点 v' 实际上是图 G 中的边,保持连通性不变。现在它的距离矩阵 D' 是 MxM.

NetworkX 中是否已经存在从 D(NxN) 中获取此 D'(MxM) 的方法?

networkx 有一个名为 line_graph() 的函数,它似乎可以满足您的需求。这是它如何工作的示例:

import networkx as nx
import matplotlib.pyplot as plt

G=nx.star_graph(3)
L=nx.line_graph(G)
nx.draw(G, node_size=500)
plt.show()

nx.draw(L, node_size=500)
plt.show()