問題タブ [cyclic-graph]
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.
algorithm - 巡回グラフの DAG で LCA のソリューションを適用していますか?
私の質問に対する答えは明白かもしれません。私はその明白な答えを紙の上で知っています。つまり、いくつかの例に関して言えば、Lowest Common Ancestor アルゴリズムを実行するためのループが許可されていない理由は理解できますが、DAG での LCA のソリューションについて書かれた論文を理解するのに問題があります。そして、ソリューションのどの部分が巡回グラフでの使用を妨げている..
私が知りたいこと、およびお知らせいただけるとありがたいこと:
- DAG の LCA 問題に対する解決策の 1 つを説明できますか?
- どのステップにサイクルの問題があり、その理由を特定できますか?
私の問題では、LCAを見つけるためのノードのペアが1つのループ内にないため、それを解決する方法があると思います..
前もって感謝します
java - 集約データに基づくJavaオブジェクトモデルのデータ構造と設計
ソリューションの実装方法について多少混乱しているコーディング演習に取り組んでいます。
JavaDoc によると、この EmployeeManager インターフェイスを実装する必要があります。従業員データは、他のリクエストとは別のスレッドで到着すると想定します。getSalary() は一定時間 O(n) で実行されることに注意してください。実行時間は、従業員または部門の数によって変化してはなりません。
質問:
これはどのような問題ですか?
Employee クラスと Department クラスを POJO として作成する必要がありますか? その中には何が含まれますか? スレッドセーフにするためにランナブルを実装する必要がありますか?
これにはどのようなタイプのデータ構造が必要ですか?
私のデータ構造とCSのものは本当に錆びているので、フィードバックをいただければ幸いです。
tree - 実行時のオーバーヘッドなしで循環リンクを使用して構造を構築する方法はありますか?
Rust で巡回リンク データ構造を実装しようとしています。私Node
の s は次のように定義されています。
私はこのような最小限の構造を構築しようとしています (より良い生涯可視性のための余分な括弧):
link2
これは機能しますが、プレースホルダーを「サイクルを閉じる」への参照に置き換える方法がわかりません。link1
私はこれを試しましたが、上記の行を借用した に割り当てることができず、link2
まだ によって参照されている間に範囲外になるため、機能しませんlink1
:
sを使用してこれらのライフタイムの問題を回避しようとすることもできますRc
が、それは Rust のランタイム コストがゼロのライフタイム管理の目的に反するように思えます。
すべてのノードを に入れ、それへのVec
直接参照のみを取得する別の試みも機能しませんでした:
ノードをミュータブルに借用せずにノードを変更することはできませんが、それらはすべてすでにイミュータブルに借用されているためです。
たとえば、私が試したような純粋な参照を使用して、実行時のオーバーヘッドなしで循環リンクを使用してそのような構造を作成する方法はありますか? Vec
すべてのノードの所有権を保持するバッキングのように、追加のメモリ コストは問題ありません。