splay单旋与双旋

    在贴吧看了个娱乐向的骗回复帖子,说双旋比单旋慢。好吧,我承认可能在某一次是这样。但别忘了,splay可是平摊时间复杂度的。

    那为啥我们要双旋呢?如果你手动模拟四个以上的点的旋转,你会发现,如果单旋一条链的叶子到根,转完了还是一条链。但如果用双旋,那么会是一棵树。可能判断会很麻烦,但后面会快的!

好了这篇文章就到这里(你问我为啥这么短?因为我要放图啊……)

    zig是右旋(把父亲节点变成自己的右儿子),zag是左旋。

splay单旋与双旋_第1张图片

splay单旋与双旋_第2张图片

splay单旋与双旋_第3张图片

splay单旋与双旋_第4张图片这里就能看出双旋的优越性。

splay单旋与双旋_第5张图片

 

你可能感兴趣的:(NOIP)