平衡树SPLAY

本文介绍了SPLAY树,一种平衡二叉查找树,强调其在解决模板问题时的实用性。作者分享了调用SPLAY的经验,指出空树状态、节点插入、旋转更新和函数返回值等关键细节,并提醒在特定操作后需要执行SPLAY。注意,当前的rank函数只能查询已存在于树中的数值的排名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平衡树SPLAY

平衡树这个东西一点用没有,非常有用,而且锻炼码力,是个非常好的模板题!

那么SPLAY这个东西 十分的毒瘤 我只调了一上午就调出来了!(我真棒)

首先 我们要知道平衡树是一棵二叉查找树 他可以处理:加点,删点,前驱,后继,num的排名,某排名的num,合并两棵平衡树,分离两棵平衡树

关于其原理 网上有很多 而且比较简单

对于splay来说 原理并不是最难的 码代码才是最难的!

那么就提一提细节吧:

当这一棵树为空的时候, t o t tot tot不一定=0,而 r o o t = 0 root=0 root=0

当这一棵树为空的时候,如果新加入一个节点,那么没有必要对于这个节点进行splay操作,(反正我的代码会死循环QAQ)

在rotate完了时候 记得update呀

对于该有返回值的函数 一定要返回值!(可怜孩子调了半天)

还有就是在: i n s e r t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值