問題タブ [digraphs]

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 に答える
1420 参照

python - djangoテンプレートで辞書の辞書を使用するとうまくいきません

加重有向グラフは、Python の辞書の辞書として表されます。このようなもの(例):

私の問題は、この digraph オブジェクトを Django Template システムに渡すことです。この例では、'a'、'b'、'c'、'd' はグラフのノードであり、ダイグラフはこれらのノード間の接続を整数値で指定された各接続エッジの重みと共に表します。

一般的なノードnodeを考えてみましょう。

テンプレート内のdigraph.node.itemsにアクセスできません。どの辞書 D に対しても、D.itemsは適切に機能します。ただし、サブディクショナリのアイテムにアクセスしたい場合はそうではありません (上の有向グラフ)。これはまさに私が欲しいものです(しかしうまくいきません):

adj_nodeweightは出力されません。

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

character - 二重文字を含む言語の ISO 標準

私の言語 (アルバニア語) では、「sh」、「xh」、「th」、「dh」、「ll」は 1 つの音 (文字) です。ユーザーが「th」と書いたときに「t」や「h」ではなく文字「th」であることをアプリが認識できるようにするには、どうすればよいでしょうか。

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

java - BinaryRelation のインターフェース

二項関係と推移関係の洗練されたインターフェイスを定義したいと思います。私は二項関係を対の集合、ある集合 X × Y の部分集合と考えています。実際には主に推移関係を扱うつもりですが、一般的な二項関係が必要になることもあります。これは主に私自身の使用のためですが、他のユーザー向けに FLOSS ライブラリとして公開することになるかもしれません。これらのクラスの使用に関する正確な要件がまだないため、私の定義が一般的なレベルで意味を成すことを望みます: 科学研究に関連する実験作業のために必要です。現在いくつかのアイデアがありますが、どのような種類かはまだ不明です研究をしているうちに、より多くのアイデアが生まれるので、私が必要とする実験の数。

一般的なアイデア

私が(私が思うに)必要なものの核心は次のとおりです。

(これはコア機能にすぎないので、私の言いたいことが分かるように — トラバーサルなどのより良い機能は歓迎されます。以下を参照してください。) 次に、TransitiveRelation<E>を拡張BinaryRelation<E, E>し、 を実装するのaddではなく、 を提供する を定義しますaddTransitive(F from, T to)

古典的なコレクションの再利用

もちろん、古典的なコレクション インターフェイスを可能な限り再利用したいと考えています。Guava のSetMultimap( javadocユーザー ガイド) には、私が必要とするコア機能が含まれているようです。ユーザー ガイドでは、ラベルのない有向グラフの使用例についても言及しています。直接使用する際に見られる1つの問題SetMultimap二項関係の場合に「キー」と「値」について話すのは奇妙です。さらに、何かが欠けています。SetMultimap (キーから値に移動するように設計されている) には意味のある非対称性がありますが、バイナリ関係ではあまり意味がありません。SetMultimap には、"from" 要素が与えられた場合に、それに関連する "to" 要素を効率的に (つまり、リレーション全体をトラバースすることなく) 反復できるインターフェイス (および実装) があります。同様に、「to」要素を使用して、対応する「from」要素を効率的に反復できるようにしたいと考えています。そのため、BiSetMultimap ( aMap<K, Set<V>>と a の両方に対応Map<V, Set<K>>) と呼ばれるものが必要です。Javaの世界ではそのようなものを見つけることができませんでした。

したがって、私は現在、へのファサードBinaryRelation<F, T>として定義することを考えています。次に、より適切な名前のメソッドをインターフェイスに作成し (概念的には のメソッドと同等)、 "from" 要素を提供するメソッドを追加できます。1つは関係を表し、もう 1 つはその逆を表します。SetMultimap<F, T>SetMultimapgetInverselyRelated(T to): Set<F>SetMultimap

この問題には、多数の代替アプローチがあります。たとえばBinaryRelation、拡張として定義できますSetMultimap。または、完全に非表示にすることを避けてSetMultimap、 経由でアクセスできるようにすることもできますBinaryRelation#asSetMultimap()。そうすれば、すべての素敵なメソッド インターフェイスを取得できます。または、特定のインターフェースのアイデアを完全に放棄し、 のSetMultimap代わりに を使用することもできますBinaryRelation。その場合、リバース トラバーサル操作は特定のクラスで利用できるがインターフェース レベルでは利用できない最適化機能であると考えられます。または、SetMultimap 以外のものを設計の基礎として使用することもできます。

したがって、私の質問 (最後に!): 私のアプローチについてどう思いますか? 他のアプローチを考えていただけますか?私が見落としたいくつかの問題?私が使用できる既存のソリューション?

可能なリンク

いくつかのグラフ ライブラリ ( JUNGJGraphTBlueprint ) を使用することを考えましたが、それらは私のニーズに合わないと思います。私の謙虚な意見では、これらすべてEdgeに複雑さを追加するクラス (または Edge 型パラメーター) があり、インターフェイスと実装を提供するものはありません。ユーザーマニュアルにあるように、 Grphは頂点のオブジェクトを提供しません。私は何かを見逃しているかもしれませんが、同意できない場合は教えてください。SetMultimap

(編集) Xaerxess が述べたように、このグアバの問題は、ここで BiSetMultimap と呼ぶものを Guava に追加することを提案しています。

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

python - Pythonのループでiを増やす

私が持っているいくつかのコードを実行するループを何らかの方法で作成し、ループを実行するたびにa増加し、下部の行を出力できますか?

アップデート

ha[a]in str1=h[a] には、次のような一連のリストが含まれています。

aで増加するループを実行できればstr1 = h[a]、次の出力が得られると考えていました。

しかし、今は私が選んだその1つの行だけがカウントさaれますか? これは意味がありますか?

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

dot - 他の場所で定義されていても、サブグラフ内にノードを配置するGraphvizドット

宿題の問題用にドット スクリプト ジェネレーターを作成しようとしていますが、サブグラフで定義されていないノードが配置されているというこの問題があることを除けば、うまくいっています。たとえば、次のドット スクリプト:

この画像を生成します: ここに画像の説明を入力

「Vehicle」ノードは、「Ford」サブグラフの外にあるはずです。ここで何が欠けていますか?

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

c++ - c++ ダイグラフは使用しないでください (MISRA C++ 2-5-1)

によると、MISRA C++ 2-5-1通常、有向グラフを台無しにすることは避けるべきです。ただし、一般的な演算子、、 ...を定義するために、読み取り可能な単語 、 などのand使用も避ける必要がある理由がわかりません。ornot&&||

この問題は、Sonar/MISRA の「主要な」問題として強調されています。

特定の理由で、ルールに人間が読める??=ダイグラフ (不可解な,とはまったく異なる)も含まれているのか、それともルールが一般的すぎるのか? それらを使用する際の特定のリスクや副作用は見つかりませんでしたが、間違っていますか???/

まとめ

この MISRA ルールに、人間が読めるダイグラフも含める機能上の理由はありますか? コードコンプライアンスルールをやみくもに満たすためだけにそれらを避けるべきですか、それとも背後に隠れている本当のトリッキーな理由がありますか?

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

javascript - D3.js Enter exit 更新パターンの実装

バックグラウンド:

THREE.js 内の有向グラフを探索するテスト プロジェクトに取り組んでいます。DOM ではないデータ構造を持っていますが、多くのプロパティを共有しています。つまり、構造は階層的であり、(サブグラフ)選択を実行できます。レイアウトエンジンを構築しました。今、私はそれを動的にしたいと考えています。これは、この場合はシーン オブジェクトによって表されるノードを追加/削除/更新できるようにしたいということです。

これが D3.js で処理される方法が気に入っていますが、ライブラリは DOM に存在するデータに大きく依存しているようです (?)

ソースコードを調べて、少し頭が痛くなりました。

質問:

私の(非DOM)シナリオを処理するおもちゃの実装を作成したいので、Mike Bostockの入力、終了、更新パターンがどのようにコーディングされているか知っている人はいますか。

よろしくお願いします。