FHQ_treap

上个月还在舔\(splay\)\(FHQ_treap\)太好打了吧真香

前言

还是建议先把\(splay\)学好再看,讲得会比较粗略(但该有的不会少),或者左转其他文章

\(FHQ_treap\)是一种常数小同时好打的平衡树

其实就是利用附加权值\((head)\)来维护树的平衡性,同时树内有二叉搜索树性质

附加权值是随机给的,随机情况下使得树比较平衡,达到均摊\(log\)级别

合并

把两棵树\((A,B)\)合并起来,其中\(A\)树的所有值\(<B\)树的所有值

我们在维护附加权值\((head)\)的同时实现合并,由于大小关系的前提比较好做

分裂

分裂有两种分裂,按值分与按排名分,传一个参数\(x\)进去把原树分成两棵树

即关键字\(≤x\)的一棵,剩下结点为另一棵

猜你喜欢

转载自www.cnblogs.com/y2823774827y/p/10321171.html