84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
闭关修行中......
この問題を理解したいのですが... これは、標準実装をシミュレートするために私が書いたコードです。標準実装は、要素が赤黒ツリーに存在することを最初に判断してから、それを削除します。存在するかどうかのテストはまだありませんが、基本的には標準のコード実装と同じです
削除の考え方は、最小値と最大値を削除する考え方に似ています。以前の考え方は、2 ~ 3 個のツリーの削除をシミュレートする方法に限定されており、その結果、間の関係を認識できませんでした。彼らは...
投稿者に質問したいのですが削除で右のブランチに移動する過程で、moveRedRightメソッドが呼び出されますすみません、moveRedRightメソッドでなぜなのかnode =rotateRight(node );flipColors (node) ;これらの 2 つのステップの後に左回転を実行する必要がないのはなぜですか?この時点での node.right.right の色が赤であるのは当然です。 node.right.left の色は黒ですが、(この行のnodeはdeleteメソッドで渡されたノードです) このとき左回転を行うべきではないでしょうか?
この問題を理解したいのですが... これは、標準実装をシミュレートするために私が書いたコードです。標準実装は、要素が赤黒ツリーに存在することを最初に判断してから、それを削除します。存在するかどうかのテストはまだありませんが、基本的には標準のコード実装と同じです
リーリー削除の考え方は、最小値と最大値を削除する考え方に似ています。以前の考え方は、2 ~ 3 個のツリーの削除をシミュレートする方法に限定されており、その結果、間の関係を認識できませんでした。彼らは...
投稿者に質問したいのですが
削除で右のブランチに移動する過程で、moveRedRightメソッドが呼び出されます
すみません、moveRedRightメソッドでなぜなのか
node =rotateRight(node );
flipColors (node) ;
これらの 2 つのステップの後に左回転を実行する必要がないのはなぜですか?
この時点での node.right.right の色が赤であるのは当然です。 node.right.left の色は黒ですが、(この行のnodeはdeleteメソッドで渡されたノードです) このとき左回転を行うべきではないでしょうか?