![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
平衡树
peter_819
这个作者很懒,什么都没留下…
展开
-
【平衡树】Treap
treap=tree+heap; 就是在一颗平衡树上维护一个fix域,使得这棵树如果以key值域看的话是一颗排序树,以fix域看是一个堆。这样利用平均分布的fix值使得这棵树相对平衡。 平衡树里相对好写的就是treap和SBT了,改天膜拜下sbt去。 今天先说treap。写法 顾名思义就是在平衡树的基础上加了一个堆得维护,(堆都会写吧) 插入删除时记得利用旋转来让孩子的fix值跟父节点的原创 2016-05-14 11:40:25 · 482 阅读 · 0 评论 -
【平衡树】splay
splay 平衡树,也叫伸展树,有很大的好处,同时也很哲学。。。伸展 它可以非常柔韧的变化,旋转伸展合并等等,并且是均摊时间代价,代价很可观。操作 伸展就是通过各种旋转,把查询删除更改的元素全转到根,查询频率越高代价约可观。旋转 通过双旋单旋来实现,在某一个节点旋转到根的过程中路上的所有节点的子树都会相应平衡,特别神奇,但神奇的同时也随之而来的就是写法的哲学。。。操作 通过三种旋转原创 2016-05-02 15:07:19 · 854 阅读 · 2 评论 -
【平衡树】平衡树教学
没事闲的学学平衡树吧,打代码炒鸡爽的(特别是机械键盘)(无视)。。。 (学习ing) - 平衡树到底是啥?先看看排序二叉树吧排序二叉树就是一棵树,啥树呢——就是这样一颗当前节点的左子树的权值都小于当前节点值,右子树的也一样。 这样经过左-中-右的遍历就是一个有序序列。这样一棵树有啥用呢——就是可以维护一个有序的东西,可以动态插入,删除,查询第k大,查询前驱后继(就是有序序列中跟他挨着的原创 2016-05-05 18:06:41 · 779 阅读 · 0 评论