蓝桥杯---二叉树2--Treap树与Splay树(算法笔记13)

上个笔记学平衡二叉树的算法,书中详解两种Treap和Splay,本片讲Treap树
这里的旋转思路:
①左旋:先看初始的树,这个按照搜索树的方式进行建树(任何一个节点的左节点小于它,右节点大于它),那么对于左旋这个操作的意思就是将k的层次向左边提升一个层次,对于原树是第二层,向左提升就是到了根节点这一层。接着看k,k原来是o的右节点,也就是说k>o那么,当k左旋后,o变成了k的左节点(o<k),a原先是o的左节点,所以也保持不变。b原先是k的右节点,保持不变。再看x,由于是个二叉树,当k变成根节点后,左右节点发生改变,且只有两个节点,那么x的位置就有些许尴尬。看原来的树,x是k的左节点,那么但是o的右节点,即o<x<k,那么当k为根节点的时候,x定然在k的左子树上,由于x>o所以x在o的有节点上。由此完成左旋。
②右旋:右旋的方式和左旋类似,都是通过观察原来的树进行判断新树中节点的位置。
由此可以得出结论:
左旋就是将k节点的左子树放到k根节点的右子树上,其余不变。右旋就是将k的右子树放到k的根节点的左子树上。
 
Splay树
 
 
 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

澄澈i

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值