[解決済み] 2つの木構造を同一にするための最小限の操作を計算する
2023-04-16 15:59:08
質問
これはどちらかというとCSに関する質問ですが、興味深いものです。
多かれ少なかれ同じノードを再編成した2つの木構造があるとします。あなたはどのようにして
- 任意の
- ある意味で 最小限の
操作の順序
-
MOVE(A, B)
- ノードAをノードBの下に移動させる(サブツリー全体を含む) -
INSERT(N, B)
- を挿入します。 新しい ノードNをノードBの下に -
DELETE (A)
- ノードAを(サブツリーごと)削除します。
で、一方のツリーをもう一方に変換します。
明らかに、そのような変換が可能でない場合があるかもしれません。) そのような場合、アルゴリズムは単に結果 " を提供します。 不可能 という結果を返します。
さらに壮大なバージョンは、ネットワークに対する一般化です。すなわち、ノードがツリー内で複数回出現することができる (事実上複数の親を持つ) と仮定した場合ですが、サイクルは禁止されています。
免責事項:これは ではなく 宿題ではなく、実際のビジネス上の問題から来ています。
どのように解決するのですか?
Wikipedia にはグラフ同型に関する記事があるだけでなく (Space_C0wb0y が指摘しているように)、専用の
グラフ同型性問題
. この記事には
Solved special cases
があり、その中で多項式時間解法が知られています。Trees はそのうちの一つで、以下の2つの文献を引用しています。
- P.J. Kelly, "A congruence theorem for trees""; Pacific J. Math., 7 (1957) pp.961-968.
- Aho, Alfred V.; Hopcroft, John; Ullman, Jeffrey D. (1974), The Design and Analysis of Computer Algorithms, Reading, MA: Addison-Wesley .
関連
-
[解決済み】決定木(比較ソートアルゴリズム)の葉の最短の深さ)
-
[解決済み] T(n) = 2T(n/2) + O(n) からO(nlogn)を得る方法
-
[解決済み] 定数時間や対数時間よりも、nやnlog(n)の方が良いのでしょうか?
-
[解決済み] グラフが半連結であるか否かを判定する
-
[解決済み] あるアルゴリズムの計算量がO(log log n)になる原因は何でしょうか?
-
[解決済み] 2つの緯度経度点間の距離を計算する?(ハバーシンの公式)
-
[解決済み] 重なり合う円の面積の合計
-
[解決済み] ビット単位で、モジュラス演算子の代わりに使用
-
[解決済み] エラトステネスの篩アルゴリズムの時間複雑性
-
[解決済み] 挿入ソートとバブルソートアルゴリズムの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Dijkstraのアルゴリズムが負の重みのエッジに対して機能しないのはなぜですか?
-
[解決済み] ポイントルック アット ポイント
-
[解決済み] 素朴な」アルゴリズムとは何か、「閉じた」解とは何か?
-
[解決済み] Octave : ロジスティック回帰 : fmincg と fminunc の違い
-
[解決済み] は、「減少しない」列が「増加する」のか?
-
[解決済み] k-meansの時間計算量はどの程度ですか?
-
[解決済み] キャッシュの無効化 - 一般的な解決策はありますか?
-
[解決済み] ハッシュテーブルは本当にO(1)になるのか?
-
[解決済み] 式(エクスプレッション)パーサー(優先順位付き)?
-
[解決済み] あるアルゴリズムの計算量がO(log n)になる原因は何でしょうか?