单旋SPLAY的优化

单旋splay的优点是好写,缺点就是太慢了。

经过以前大量的正版splay和单旋splay之间的对比发现单旋splay大概要慢50%。。。

加上如下几个优化后单旋SPLAY绝对可以媲美正版SPLAY,是PNOI,NOI,居家旅行,哔~~~~~~,必备良数据结构

 

关于单旋splay有如下几个优化(不会加大代码量,要不然还要单旋splay干嘛):

 

1.对于大量插入操作,写一个过程:buildtree,建议一颗完全二叉树插入树中,很多题目一开始就需要buildtree,所以不会增加代码,在NOI05 sequence中加入这个优化可以快3倍。。。

 

2.这是今天早上突然发现的优化,在旋转的过程中如下:

然后再写个新的splay过程:


实际上第二个update是不需要的,这样就可以减少一半的update次数,对于一颗需要维护大量信息的splay树这可是神级优化。

 

说了这么多还是我这菜鸟想在编程复杂度和时间空间复杂度之间找到平衡点。

对于那些本身就很IMBA,5分钟5KB的神牛是不会稀罕代码量的。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值