問題タブ [edge-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
374 参照

graph - 2 つのノード間に 2 番目の新しいエッジを追加して古いエッジを更新するにはどうすればよいですか

私が持っているもの:networkXのマルチグラフH。2 つのノード '0' と '1'。既存のエッジ e1=(0,1)。

私が欲しいもの:ノード0と1の間に2番目の新しいエッジe2を追加します。

問題: 0 と 1 の間に新しいエッジ e2 を追加すると、e1 は e2 の新しい値 (属性) で更新され、e2 は追加されません。0 と 1 の間には常に 1 つのエッジがあります

私のコード例:

HI のすべてのエッジを正しく印刷すると、次のようになります。

ここで、key 属性を使用して e2=(0,1) に新しいエッジを追加します。

しかし、Hのすべてのエッジを印刷すると:

ご覧のとおり、2 番目のエッジは最初のエッジを更新していますが、e2 は e1 とは異なる特定のキーで追加されています (デフォルトは 0)。

どうすればこの問題を回避できますか?? エッジ e2 を追加した後、この結果が必要です。

0 投票する
1 に答える
98 参照

graph - CLISP でドット リスト (エッジ) からノードを抽出する

私は Lisp World の "Nil" または () です。
エッジ リスト内のすべてのノードのリストを取得したかったので、この問題を解決するコードを書きました。しかし、私はいくつかの予期しない問題に遭遇しました。

(「Land of Lisp」のコード - 第 8 章)

以下のようにすべてのノードをリストとして抽出するコードを書きました。

私のコードはそれほど悪くないと思っていましたが、結果は恥ずかしいエラーメッセージを示しました。

スタックオーバーフロー?私のコードの再帰関数が原因だと思います。どうすればこれを適切に修正できますか?

0 投票する
2 に答える
1035 参照

graph - エッジ コレクションとグラフ

ArangoDB で得られないことが 1 つあります。

エッジ コレクションとグラフの違いは何ですか? どのような場合に、どちらを選択すればよいですか?

0 投票する
1 に答える
1511 参照

algorithm - グラフ内の最大距離の最小化

重み付き無向グラフがあるとしましょう。グラフに N 個のノード (都市) があり、都市に M (M<=N) 個の病院を建設したいとします。次に、都市から病院のある都市までの最大距離が最小になるように、最適なソリューションを選択する必要があります。

3 つの都市があり、1 つの病院を建設する必要があるとします。重みがそれぞれ 83 と 71 のエッジ 1-3 と 2-3 があるとします。明らかに最適な解決策は、都市 3 に病院を建設することです。その場合、最大距離は 83 になります。

私のアイデアは、Floyd-Warshall アルゴリズムを使用して、距離配列の最大値が最小の都市に病院を建設することでした。次に、別の配列 b を更新して、b1 が都市 1 から病院のある都市までの最小距離を示し、bi を同様に定義します。その後、次のように距離値を更新したいと思います。

M 病院をすべて建設するまで、これを繰り返します。

しかし、このアルゴリズムが問題に遭遇するケースがいくつかあります。このグラフが与えられ、3 つの病院を建設する必要があるとします。

Floyd-Warshall アルゴリズムの後、距離テーブルは次のようになります。

最大値が 6 になるため、病院を都市 6 に建設するのが最善であることは明らかです。値を更新します。

しかし、都市 3 と都市 4 のどちらに病院を建設するかはわかりません。都市 4 に病院を建設する場合、テーブルを更新すると、都市 1 に病院を建設する必要があることがわかり、最大距離は次のようになります。 2になります。

しかし、都市 3 に病院を建設し、値を更新すると、都市 4 または都市 5 に病院を建設するのが最善であることがわかります。しかし、どちらの場合も、最大値は 3 になります。

0 投票する
1 に答える
394 参照

python-2.7 - networkx のエッジをカスタマイズするには?

networkx でエッジをカスタマイズしたいと考えています。これらのエッジは、次の表の記号としてラベル付けされた列のエッジと同様である必要があります (13 行を除く)。

ここに画像の説明を入力

誰でもそれを構築する方法の手がかりを教えてください。前もって感謝します!

更新 1:graphviz がそれを実行できるように見えます:

Graphviz の矢印の形

属性タイプの説明を探します

しかし、graphviz は python ではなく C に基づいており、私の知識を超えています。ただし、networkx は graphviz オブジェクトを処理できます。これに関するドキュメントがどこかにあるはずです...

0 投票する
0 に答える
240 参照

graph - 一意の ID または名前によるエッジの検索

サブグラフとノードを一意の名前で検索できます。

同様に、厳密な有向グラフのエッジを一意の名前で検索する方法はありますか?

ドキュメンテーションは、次のことを示しています。

エッジの「名前」(より正確には識別子) は、特定のノード ペア間のエッジの一意の識別子として扱われます。つまり、特定の u と v の間には e28 という名前のエッジが 1 つしか存在できませんが、他のノード間には他の多くのエッジが存在する可能性があります。

名前で検索できるエッジのリストが必要なようです。それ以外の場合は、別の (ID -> エッジ) マップを個別に維持する必要があります。

0 投票する
1 に答える
1049 参照

java - エッジを削除して、ツリーを 2 つに切断するにはどうすればよいですか?

私の目標は、特定のツリー T からエッジを削除すると、2 つの別個のツリー T1 と T2 が形成されることです。

ツリー T の各頂点には正の整数が割り当てられます。私の仕事は、結果のツリーの Tree_diff が最小化されるように、エッジを削除することです。Tree_diff は次のように定義されます。

入力フォーマット:

  • 最初の行には、整数 N、つまりツリー内の頂点の数が含まれます。
  • 次の行には、単一のスペースで区切られた N 個の整数、つまり各頂点に割り当てられた値が含まれます。
  • 次の N-1 行には、それぞれが 1 つのスペースで区切られた整数のペアが含まれており、ツリーのエッジを示しています。

上記の入力では、頂点には 1 から N までの番号が付けられています。

出力形式: Tree_diff の最小値を含む 1 行。

制約:

  • 3≦N≦105
  • 1≦各頂点に書かれた数字≦1001

サンプル入力

サンプル出力

私のコードは

私のコードは、より小さな入力に対して適切に機能しています。上記の入力の場合、出力は

予想される出力は

助言がありますか?

注意 - これは宿題です