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]
ありがとうございました