問題タブ [red-black-tree-insertion]

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 投票する
2 に答える
482 参照

algorithm - 赤黒木挿入

ノード 36 を赤黒ツリーに挿入すると、次の赤黒ツリーが生成されました。

ここに画像の説明を入力

私の問題は、この特別な場合にダブルレッドを処理する方法ですか? ケース2または3ですか?

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

algorithm - ソートされた値に対する赤黒木挿入操作の動作

私はデータ構造が初めてです。赤黒木挿入アルゴリズムの実装を経験しました。アルゴリズムがソートされた値の挿入をどのように処理するかを理解できません。

データセット [10, 5, 2] で説明します。

したがって、イニシャル 10 が挿入され、ツリーのルートになり、その色は黒になります。10ここに画像の説明を入力

次に、ルート 10 の下に 5 を追加します。5 の色は赤になります (現時点では、どのプロパティにも違反していません)。 ここに画像の説明を入力

次に、2 を追加して追加します。追加後、ツリーは次のようになります:- ここに画像の説明を入力 2 (色が赤) の追加は、赤い親の下に赤い子を許可しないという規則に違反します。赤黒木には 3 つのケースがあります:- 3 つのケースはすべて、parentOf(newlyInsertedNode) に兄弟があることを前提としています。しかし、私の場合、parentOf(2) = 5 には兄弟がありません。では、このシナリオが赤黒木アルゴリズムでどのように処理されるか。

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

c++ - セグメンテーション違反を示す Red Black Trees 挿入コード 11

これは、番号を入力したときにセグメンテーション違反 11 を示しています。助けてください。私はこれで2時間立ち往生しています。いろいろ試しましたが抜けません。助けてください。rbInsert または回転関数に問題がある可能性がありますが、見つかりません。どんな助けでも大歓迎です。

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

java - 赤/黒のツリー ノード挿入の異常な Java 実装

赤/黒の木に関するJavaのクラスのプログラムを書いています。それらが通常どのように機能するかをよく理解しており、再帰的な挿入方法を使用することになっています。私が通常使用するのは、私の教授の Node クラスと一致するように、以下のとおりです。色に関しては、0 は黒、1 は赤です。私たちに与えられた Node クラスは、キーをまったく扱いません。

ただし、問題はブール値を返すことになっていることです。ユーザーがツリーに既にある値と同じ値を挿入した場合、false を返し、ノードをアタッチしません。それ以外の場合は、それらをアタッチして true を返します。このために提供されたコードを以下に示しますが、再帰的ではありません (プロジェクト要件の一部)。適切にバランス調整または回転する方法を実装していませんでしたが、返されたブール部分は機能します。

同等の実装をオンラインで見つけることができませんでした。プログラムの GUI が適切に機能するにはブール値が必要なようです。誰かがどこから始めるべきかについて良い提案があれば、私はそれを感謝します!