为了能到远方,脚下的每一步都不能少.|

lmyyyy

园龄:2年8个月粉丝:7关注:10

10月18日总结

splay 简要讲解

前置芝士:普通二叉树

splay tree是一个越处理越灵活的数据结构,通过splay(伸展)操作,使整棵树的单次查询时间复杂度接近于O(log n),整棵树的高度也接近于log n

根据上面的这句话,很明显能看出splay与普通二叉树的区别

普通二叉树经过多次处理后,很容易退化成链,单次查询的复杂度直升O(n),对于处理大型数据来说,这是绝对不能允许的

OI和ACM界也经常会有数据能使一个普通二叉树快速退化成链

例: 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9

很明显,对于大型数据的处理来说,普通二叉树已经满足不了了

下面,我将会以例图来讲解中序遍历

这张图是我偷的,哈哈

在这组数据中,数的根节点为6,整棵树的中序遍历为1,2,3,4,5,6,7,10,15,一个树的中序遍历为:左子树 + 根 + 右子树

很明显,这是递增的,当前这个splay树维护的是一个递增的序列


操作


splay 有一个核心操作,就叫splay(伸展)

splay操作是依靠rotate去实现的

本文作者:lmyyyy

本文链接:https://www.cnblogs.com/lmyy/p/17786238.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   lmyyyy  阅读(1)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起