技术栈

splay

Elaina_0
9 个月前
splay
关于 Splay 树二叉搜索树是一种二叉树的树形数据结构,其定义如下:空树是二叉搜索树。若二叉搜索树的左子树不为空,则其左子树上所有点的附加权值均小于其根节点的值。
lty_ylzsx
1 年前
线段树·字符串·dp·二分答案·splay·fhq_treap·treap
平衡树 Treap & Splay [学习笔记]首先了解 \(\tt{BST}\)非常好用的东西,但是数据可以把它卡成一条链 \(\dots\)于是,我们将 \(\tt{Tree}\) 与 \(\tt{heap}\) (堆) 合并,以保证平衡树 \(\log\) 的深度。
ILoveFujibayashiRyou
1 年前
时间复杂度·平衡树·splay
splay学习笔记重制版以前写的学习笔记:传送门 但是之前写的比较杂乱,这里重制一下假设我们要维护一个数据结构,支持插入、删除、查询某个值的排名,查询第 k k k大的值等操作。 最直接的想法是用二叉搜索树,也就是左子树权值<根节点权值<右子树权值的数据结构。查询时,如果目标值小于根节点就往左走,否则往右走。 但是二叉搜索树的深度是没法保证的,树高可以达到 O ( n ) O(n) O(n)级别,这样我们的操作都是 O ( n ) O(n) O(n)的。 因此这里我们需要使用平衡树,通过一些操作来维持树的平衡,让单次操作变成 O