私は、スプレイツリーデータ構造のローテーションがレイティングノードの親だけでなく、祖父母(ジグザグとジグジグの操作)も考慮している理由をよく理解していません。なぜ、次のように動作しないのですか?Splay tree rotationアルゴリズム:単純な回転ではなく、ジグジグとジグザグを使用する理由は何ですか?
たとえば、新しいノードをツリーに挿入すると、左または右のサブツリーに挿入するかどうかがチェックされます。左に挿入すると、右のサブツリーに対して結果RIGHTが回転し、その逆も同様です。再帰的にそれが全体の「スプレイ」の手順を避ける必要があり、この
Tree insert(Tree root, Key k){
if(k < root.key){
root.setLeft(insert(root.getLeft(), key);
return rotateRight(root);
}
//vice versa for right subtree
}
ようかなっただろう、あなたは思いませんか?
ベータ[Computer Science](http://cs.stackexchange.com/)サイトを運営している人は、この質問であなたを手伝ってくれて本当にうれしいかもしれません。 – Jan
はこのウェブサイトと関連がありません。 – Bober02
私はそれが関係していると思いますが、CSサイトの最近の開始以来、あなたのようなアルゴリズム的な質問がCSの関心領域に近いかもしれないからです。さらに、彼らはベータ版であるため、トラフィックの増加とトピックに関する質問が増えています。 – Jan