問題タブ [multiway-tree]
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.
tree - b+ ツリーでノードを分割する
ノードのオーバーフローが発生したときに正確に何が起こるかを理解しようとしています。情報: 私の b+ ツリーには、ブロックごとに 4 つのポインターと 3 つのデータ セクションがあります。問題:オーバーフローが発生すると、私の場合はそれぞれ2つのキーを持つ2つのノードに分割し、息子から消去せずに親ノードに中間値を挿入することを理解しました(bツリーとは異なります)。
しかし、私は状況に陥りました:
最初にキー 23 を挿入したい |21|22|25| を分割します。に: |21|22|-| と |23|25|-| ここで、キー 23 を親 |21|30|50| に挿入する必要があります。魔女は別の分割を引き起こします。|21|23|-| と |30|50|-| しかし、30 の前のポインタはどこを指すのでしょうか? このポインターと 23 の後のポインターの両方が |23|25|-| を指している可能性はありますか? ?
python - Pythonでのマルチウェイツリーの描画とレンダリング
美的にもっともらしい方法で多方向ツリーをプロットする方法を誰かが知っていますか?情報:
- 多かれ少なかれ100アイテム
- 各レベルにはほぼ同じ数のアイテムがあります
- 10レベル
- 各ノードには0(葉)から6人の子がいます
- 各ノードは、ルーツに関係なく、独自のレベルを指定します。
私は現在PILを使用しており、ノードの数で各「線」を分割し、エッジを表すためにimg.size()[0]
線を描画していますが、完全に混乱しています。draw.line
あなたが私を助けてくれることを願っています=]、必要な情報は私が投稿します。
data-structures - M way 検索ツリー
m-way 探索木を実装したいのですが、m-way 探索木の実装の基本が必要です。同じことを実装するのに役立つ良いリソースを誰かが提供してくれますか??
algorithm - DFS/BFS で使用するデータの表現方法
さまざまな検索手法を使用して解決する問題が割り当てられました。この問題は、 Escape From Zurgの問題やBridge and Torchの問題と非常によく似ています。私の問題は、データをツリーとして表現する方法がわからないことです。
これは私の推測ですが、検索してもあまり意味がありません。
別の方法は、歩行時間でソートされた二分木を使用することです。ただし、検索アルゴリズムは必ずしもバイナリ ツリーを必要としないため、この問題に正しく取り組んでいるかどうかはまだわかりません。
このデータを表現するためのヒントをいただければ幸いです。
java - マルチウェイ ツリーに相当するインターフェイスの問題
私は、4 つのタイプ (Integer、Double、String、および Character) のうちの 1 つだけを取ることがわかっている一般的なマルチウェイ ツリーを作成しています。同等のインターフェースと挿入機能に問題があります。これまでに書いた関連コードは次のとおりです。
そして、ここに私のコンソール出力があります:
compareTo メソッドについて不平を言うために、同等のインターフェイスで何が間違っているのかわかりません。さらに、文字列型を使用するとどうなるのだろうと思っていましたか? どちらがアルファベット順で最初に来るかを確認するだけだと思います。ありがとう :)
php - 単一のmysqlクエリを使用して、子が子孫であるかどうかを確認します
私がこのテーブルを持っているとしましょう
そして、6が1の子孫であるかどうかを確認したいと思います(これはそうです)... 1つのクエリ内でこれを実行できますか、それとも必然的にすべてのデータを取得してPHPで処理する必要がありますか?
algorithm - グラフの最小損傷コスト
N 個のノード (0 から N-1 までの番号) と正確に (N-1) 個の双方向 Edgesを持つグラフ G(V,E) が与えられます。
グラフの各エッジには正のコスト C(u,v) (エッジの重み) があります。
グラフ全体は、ノードの任意のペア間に一意のパスがあるようなものです。
また、爆弾が配置されるノード番号のリストLも与えられます。
私たちの目的は、グラフからエッジを損傷/除去した後、爆弾間の接続がなくなるように、グラフからエッジを損傷/除去することです --
つまり、ダメージを与えた後、2 つの爆弾の間にパスがありません。
Edge(u,v) = Edge weight(u,v)を損傷するコスト。
したがって、ダメージの総コストが最小になるように、これらのエッジにダメージを与える必要があります。
例:
私は何をしたのですか?
今まで、効率的な方法を見つけられませんでした:( .
さらに、ノードの数がN
であるため、エッジの数は正確であり、グラフ全体はノードの任意のペア間に一意のパスがあるようなものであり、グラフはTREEN-1
であるという結論を得ました。
Kruskal アルゴリズムを変更しようとしましたが、それも役に立ちませんでした。
ありがとう!
c - C 実装での多元木探索アルゴリズム
すべてのノードが 0 ~ 7 の子で構成される多方向ツリーがあります。子は順不同で追加および削除できます。指定された ID がツリーを検索し、特定のノードへのポインターを返す検索アルゴリズムを構築しようとしています。上記のように再帰的に実行しようとしましたが、あまり運がありませんでした。このアルゴリズムを再帰的に構築することは実際に可能ですか、それともスタックを使用する必要がありますか?
data-structures - 木の左子、右兄弟の表現は何ですか?なぜそれを使うのですか?
多くのデータ構造は、 「左子、右兄弟」表現と呼ばれる表現を使用して、多元木を二分木として格納します。これは何を意味するのでしょうか?なぜそれを使うのですか?
algorithm - ノードのキーが変更された後、マルチウェイツリーをヒープにしますか?
ツリーには、上記の画像のように、親ノードが常に子よりも小さくなければならないという不変条件があります。ここで、ノードのキーの一部が変更されて不変性が破られ、不変性を維持したいとします。基本的には、親ノードのすべての子をコンペア・アンド・スワップすると思いますが、ツリーをトラバースするための再帰を作成する方法がわかりません。以前に学んだ二分木とは違うようです...
ところで、各ノードにはインデックスはありませんが、親、leftChild、rightSiblingの3つのポインターしかありません。ノードがルートの場合、その親はNULLを指します。ノードが右端のノードである場合、そのrightSiblingはNULLを指します...誰かがこれに光を当てることができますか?事前にThx!