2

pydotでこれを達成する方法はありますか?

次の例を見てください。

【出力ドットファイル】

strict graph g{
"A" -> "B";
"B" -> "C";
"C" -> "D";
"D" -> "E";
}

[Python]

print(num.start)
>>> A
print(num.steps)
>>> ["a,b","b,c","c,d","d,e"]
print(num.end)
>>> E

または次の場合:

【出力ドットファイル】

strict graph g{
"A" -> "B";
"B" -> "C";
"C" -> "A";
}

[Python]

if num["A"] == num.loop:
print("[%s] loop detected")%(num["A"])
4

2 に答える 2

1

グラフ構造全体graph.get_edge_list()ができました。標準の深さ優先探索を実装して、ノード間の最短経路を見つけることができます。ループの検索も同様に、標準のグラフアルゴリズムを使用して行われます。2つのノード間で最短パスを実行する方法のソースコードについては、Pythonでのグラフの実装に関するこの記事を参照してください。

pydotライブラリを探している場合は、これを実行してください。運が悪い可能性があります。

于 2011-04-08T17:07:28.170 に答える
0

Pydotはドットファイルを書き込むことができますが、グラフを分析するためのものではありません。

代わりにNetworkXが必要です。ドットファイルの読み取りと書き込みの検索、到達可能なノードの検索、トポロジカルソートを実行できます。

ウィキペディアでグラフの用語を調べれば、NetworkXが残りの作業を行うことができます。

于 2011-04-08T17:28:46.097 に答える