NetworkXの有向グラフのコードで作業していて、疑わしいプログラミング経験の結果である可能性が高いブロックにヒットしました。私がしようとしていることは、次のとおりです。NetworkXの指示グラフの後継の検索
私は有向グラフGを持ち、他のすべてのノードが流れる2つの「親ノード」が先頭にあります。このネットワークをグラフ化するとき、「親1」の子孫であるすべてのノードを1色、他のすべてのノードを別の色でグラフ化したいと思います。つまり、親1の後継者のリストが必要です。今
、私が使用して簡単にそれらの最初の層を得ることができます。descend= G.successors(parent1)
問題は、これが唯一の私の後継者の第一世代を与えています。私は後継者の後継者、後継者の後継者の後継者などを望むことが望ましい。分析を実行してグラフの作成者が何人いるかを知らなくてもグラフを作成できることは非常に便利なので。
これにどのようにアプローチすればよいですか?
DFSアルゴリズムが私の最善の策かもしれないようです。上記のコードを使用するのではなく、dfs_successorsを使用して、親1のすべての後継者の辞書を私に提供するように見えます。 *嫌い*辞書。 – Fomite
上記の答えをちょっと修正すると、dfs_successors(G、parent1)が使用されてしまいます。実際にすべての後継者の辞書が返され、その辞書がリストになり、http://stackoverflow.com/questions/952914/make-a-flat-list-of-python/952952#952952。両方のコメント者にあなたの助けに感謝します。 – Fomite