假设我在NetworkX中创建了一个DiGraph:
import networkx as nx
G = nx.DiGraph()
n = ["A","B","C","D","E","F","H","I","J","K","L","X","Y","Z"]
e = [("A","Z"),("Z","B"),("B","Y"),("Y","C"),("C","G"),("G","H"),("G","I"),("I","J"),("K","J"),("J","L"),("F","E"),("E","D"),("D","X"),("X","C")]
G.add_nodes_from(n)
G.add_edges_from(e)
Run Code Online (Sandbox Code Playgroud)
如何删除所有具有in-degree和out-degree等于1的节点,以便我的图形看起来像这样?:
import networkx as nx
G = nx.DiGraph()
n = ["A","C","F","G","H","J","K","L"]
e = [("A","C"),("C","G"),("G","H"),("G","J"),("K","J"),("J","L")
G.add_nodes_from(n)
G.add_edges_from(e)
Run Code Online (Sandbox Code Playgroud)
我们的想法是删除"流通"节点并保持连接.