0

igraph では、グラフを無向グラフに変換するための 2 つの異なる方法を見つけました。1 つ
目はto_undirected、単に「有向グラフを無向グラフに変換する」方法です。2 つ目は、コピーas_undirectedに対して呼び出すものです。to_undirected

NetworkX ではto_undirected、グラフの無向ディープ コピーを単純に作成する単一の方法しか見つかりませんでした。問題は、igraph の最初のものと同様の方法が実際に見つからないことです。NetworkX を使用してコピーを作成せずにグラフを変換するソリューションはありますか?

4

1 に答える 1

2

あなたが述べたようnetworkx.to_undirectedに、グラフのディープコピーを作成します。これは、エッジ、ノード、およびグラフの属性ディクショナリをコピーすることを意味します。digraph の無向の浅いコピーを作成するには、次のgように記述できます。

g = networkx.Graph(g)

これはまだコピーですが、属性ディクショナリがディープ コピーされていない浅いものです。

DiGraphGraph in-placeに変換するメソッドが存在するようには見えません。多くのことを行うと、オブジェクトの型を変更することになります。単純に浅いコピーを行う方がクリーンであり、それほど高価ではありません。

于 2015-06-28T17:20:58.827 に答える