나는 Networkx를 사용하여 의존성 그래프를 작성하고 있습니다. 예를 들어이 구조체가 있습니다. 내가 좋아하는 Networkx 쉽게 구축 Networkx로 그래프 구조 얻기
A
+-B
+-C
+-H
AA
+-BB
+-CC
그
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,)
(내가 루트 = 세트를 (그래서 나는 루트 노드를 설정할 수있는 방법을 몰랐다 그런데) 내가 가지고있는 경우 내 모든 뿌리,이 경우 루트 = (A))
내 질문은 어떻게 노드를 지정하여 모든 계층 구조를 얻을 수 있습니까?
이G.successors[A]
그것은 나에게
{A: {B: {C: {} }, H: {} }
을 줄 것이다하지만
G.successors[A]
않으면 순간에 그것은 단지 나에게
{H:{} , B:{} }
을 제공합니다 : 같은 예를 들어 나는 할 것이다 경우
어느 것이 정확하지만 나머지는 어디에 있습니까 ??? A는 마 G.successors [B]는 올바르지 만 왜 내가 할 때에 넣어하지 않는 나에게
{C:{}}
을 반환 또한 경우 G.successors [A]?
그리고 다른 질문입니다. Networksx와 함께 노드에서 "경로"를 얻을 수 있습니까? 예를 들어?
[A,H] or [A,B,C]
감사합니다