我正在使用 Networkx 构建依赖关系图。例如我有这个结构。
A
+-B
+-C
+-H
AA
+-BB
+-CC
我用这样的 Networkx 轻松构建
G = nx.DiGraph()
G.add_edge(A,B)
G.add_edge(A,H)
G.add_edge(B,C)
G.add_edge(AA,BB)
G.add_edge(BB,)
(顺便说一句,我不知道如何设置根节点,所以我有一个 root = set(),我有我所有的根,在这种情况下,root=(A))
我的问题是如何通过指定节点来获得所有层次结构?例如,如果我愿意:
G.successors[A]
它会给我
{A: {B: {C: {} }, H: {} }
但此刻如果我愿意
G.successors[A]
它只给我
{H:{} , B:{} }
哪个是正确的,但其余的在哪里???此外,如果一个 Do G.successors[B] 它返回我
{C:{}}
这是正确的,但是当我做 G.successors[A] 时他为什么不把它放进去?
还有一个问题。Networksx 是否有可能从一个节点获取“路径”到另一个节点?例如?
[A,H] or [A,B,C]
谢谢