
数据结构
GBLoi
这个作者很懒,什么都没留下…
展开
-
Treap 模板
树堆,在数据结构中也称Treap,是指有一个随机附加域满足堆的性质的二叉搜索树,其结构相当于以随机数据插入的二叉搜索树。其基本操作的期望时间复杂度为O(logn)。相对于其他的平衡二叉搜索树,Treap的特点是实现简单,且能基本实现随机平衡的结构。采用结构体存储节点struct node{ int lc,rc; int pri;//rand(); int key; int siz...原创 2020-01-25 22:56:43 · 260 阅读 · 0 评论 -
替罪羊树 模板
替罪羊树是计算机科学中,一种基于部分重建的自平衡二叉搜索树。在替罪羊树上,插入或删除节点的平摊最坏时间复杂度是O(log n),搜索节点的最坏时间复杂度是O(log n)。替罪羊树的主要思想就是将不平衡的树压成一个序列,然后暴力重构成一颗平衡的树。在非平衡的二叉搜索树中,每次操作以后检查操作路径,找到最高的不平衡的结点,重建整个子树。这里的平衡指的是:对于某个 0.5<=alp...原创 2020-01-30 14:54:59 · 222 阅读 · 0 评论 -
树状数组
树状数组(Binary Indexed Tree(B.I.T), FenwickTree)是一个查询和修改复杂度都为log(n)的数据结构。可以实现单点(区间)修改和区间查询该结构满足以下性质1)每个节点c[x]保存以它为根的子树中所有叶节点的和。2)c[x]的子节点个数==lowbit(x)的位数3)x的父亲节点是x+lowbit(x)。lowbit()表示取出二进制最低位的1...原创 2020-02-02 14:45:02 · 237 阅读 · 0 评论