使用网络,如何在DiGraph中查找第一个节点

时间:2020-05-17 00:13:09

标签: networkx

使用网络,这是在有向图上找到第一个节点的直接方法。

可能有多个节点,并且没有孤立的节点。 第一个节点是指没有祖先的节点。

最诚挚的问候,并先谢谢您, 巴勃罗

1 个答案:

答案 0 :(得分:1)

您可以查看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]