Yayılma ağacı veri yapısındaki dönüşün neden yalnızca derecelendirme düğümünün ebeveyni değil, aynı zamanda büyükbaba veya büyükbaba (zig-zag ve zig-zig operasyonu) dikkate aldığını da anlamıyorum. Aşağıdaki neden işe yaramaz:
Örneğin, ağaca yeni bir düğüm eklediğimizde, sola mı sağa mı alt ağaçlara mı girdiğimizi kontrol ederiz. Sola eklersek, RIGHT sonucunu döndürürüz ve sağ alt ağaç için tersi yaparız. Özyinelemiyle böyle sth olurdu
Tree insert(Tree root, Key k){
if(k < root.key){
root.setLeft(insert(root.getLeft(), key);
return rotateRight(root);
}
//vice versa for right subtree
}
Bu "yayılma" prosedüründen kaçınmalı, sence de öyle değil mi?