使用网络,如何在有向图中找到第一个节点
With networks, how to find first node(s) in a DiGraph
使用网络,这是在有向图上找到第一个节点的直接方法。
可能不止一个,也没有孤立的节点。
第一个节点我的意思是没有祖先的节点。
致以最诚挚的问候,并提前致谢,
巴勃罗
你可以看看in_degree。没有边指向它的节点将具有 in_degree 0.
# make dummy graph
nodes = np.arange(10)
edges = [np.random.choice(nodes, 2) for a in range(10)]
G = nx.DiGraph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
# find the nodes whose in_degree is 0
[node for node, in_degree in G.in_degree if in_degree==0]
使用网络,这是在有向图上找到第一个节点的直接方法。
可能不止一个,也没有孤立的节点。 第一个节点我的意思是没有祖先的节点。
致以最诚挚的问候,并提前致谢, 巴勃罗
你可以看看in_degree。没有边指向它的节点将具有 in_degree 0.
# make dummy graph
nodes = np.arange(10)
edges = [np.random.choice(nodes, 2) for a in range(10)]
G = nx.DiGraph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
# find the nodes whose in_degree is 0
[node for node, in_degree in G.in_degree if in_degree==0]