networkx边缘到节点节点到边缘表示

Asi*_*han 5 python graph networkx

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

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

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

Sco*_*ott 5

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()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

nx.draw(L, node_size=500)
plt.show()
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明