1
これは、n個のノードにPoint(x、y)タイプのオブジェクトを含むBSTを実装しました。ツリー内の順序はXの値に従います。BST検索problen
Iは入力として、Xの範囲取得(Xの左、右x)関数 を実装する必要があり、出力が (EDIT)ある:範囲内のYの座標の和は、(付属します)。
すべてのノードを「歩いて」いることはそれほど難しくありませんが、問題はO(logn)の複雑さでそれを行うことです。
私は範囲とYの合計のフィールドを初期化することについて考えましたが、何とか挿入と削除の機能ではうまくいきません。 アイデア?
私は 'O(log n + | right-left |)'を意味していると確信しています。 – Bergi
また、すべてのポイントに合計を累積し、すべてのノードにキャッシュすることができます。その結果、エッジの部分だけを見て範囲の合計をすばやく見つけることができます。 – Bergi