1

私はデータ構造の初心者です。スプレー ツリー: を使用して範囲関数の疑似コードを記述しようとしています。Range(S, A, B)これは、キー値 C が A ≤ C ≤ B を満たすすべてのメンバーのセットに S を変更します。スプレー ツリーがバイナリの型になることはわかっています。ツリーを検索し、独自のスプレイ操作を実装します。基本的に、A と B の間の値の範囲を返そうとしています。しかし、これをどのように行うべきか、どこから始めるべきか、どの条件を確認する必要があるかを理解するのに苦労しています。スプレー ツリーの定義を読んだことがありますが、それらが前方移動アルゴリズムを使用した二分探索ツリーのようなものであることを知っています。

これは私がこれまでに持っているものです:

Algorithm Range(Array S, int A, int B): array Set
S = new array(size) //Initialize an empty array of some size
if (A > B) then return NULL

この時点の後、私はやや失われたように感じます。スプレー ツリーの値を確認する方法がわかりません。追加情報を提供できるかどうか、またはどの方向に進むべきかをお知らせください。

4

2 に答える 2