splay和不加任何旋转一定会被卡的二叉搜索树的唯一区别就是每次操作把当前节点旋转到根. 旋转有各种zig.zag的组合方式,感觉很麻烦,并不对劲的人并不想讲. 其实可以找出一些共性将它们合并.设ls(a)=[点a是其父亲的左儿子],son[a][0]=a的左儿子,son[a][1]=a的右儿子,fa[a]=a的父亲.会发现单旋u时,有变动的点只有son[u][ls(u)^1],u,fa[u],fa[fa[u]].再仔细想想,儿子有变动的有fa[fa[u]](son[fa[fa[u]]][ls(…