Splay 学习笔记[更新中]

这是学习$LCT$的大前提,然而这种树基于一个叫做二叉搜索树$(Binary Search Tree)$的东西,它可以支持平均$O(logN)$的查找、插入、删除等操作。二叉搜索树的任何子树满足一个条件:左儿子比根节点小,右儿子比根节点大,任何一个节点的左子树的所有节点权值都小于这个节点,右子树的所有节点权值都小于这个节点。。但是“平均”一词在$OI$中是…你懂的,世界上有万万千千个出题人来卡掉它。就比如说这棵树:

如果出题人很恶毒换了一种输入顺序:

那么你就会惊奇的发现:你辛辛苦苦打的二叉搜索树退化成了一条链,它的时间复杂度从优秀的$O(logN)$退化成了$O(N)$。

这个时候,奆佬$Tarjan$帅气出场,对对对,就是他发明了Splay让我们多学习一种新算法,这位奆佬还发明了一堆图论算法和数据结构,证明了一堆结论。

Link Cut Tree 学习笔记[更新中]

学习动态树$LCT$之前必须要学习$Splay$。。。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×