以下是所需翻译内容:
看下面的图表:
G = nx.DiGraph()
G.add_edge(1,2)
G.add_edge(3,2)
G.add_edge(1,4)
G.add_edge(2,5)
将其可视化为:
我想找到只有来自于从1
开始的“子图”内部的入边的叶节点。
在我的示例中,它必须找到4
但不能是5
。5
是2
的子级,2
的第二个输入为3
。
我认为应该使用后继者和入度来查找正确的算法,但我对NetworkX非常新手,因此很难找到正确的算法。
另一个例子:
G = nx.DiGraph()
G.add_edge(1,2)
G.add_edge(3,2)
G.add_edge(1,4)
G.add_edge(2,5)
G.add_edge(4,6)
G.add_edge(1,7)
G.add_edge(7,6)
G.add_edge(1,8)
G.add_edge(8,7)
G.add_edge(8,6)
G.add_edge(4,9)
G.add_edge(4,10)
G.add_edge(5,10)
这里应该会找到 9
和 6
,但不会找到 10
(因为 3
是 2
的父节点,而 2
又是 5
的父节点)。