上一页 1 2 3 4 5 6 7 ··· 10 下一页
摘要: 概述 如果要维护一个序列,我们通常会使用数组和链表 但是如果要在序列中插入一些元素,以上两种数据结构的复杂度都是O(n) 于是就有了块状链表,它是数组和链表的结合:即一个链表的节点是一个数组 如果使链表的每个节点大小<sqrt(n),相邻两个节点大小和>sqrt(n),则链表长度也保持在 [sqrt 阅读全文
posted @ 2018-03-05 10:40 Bennettz 阅读(265) 评论(0) 推荐(1) 编辑
摘要: 伸展树是一种自平衡二叉查找树,它将每次操作的节点都旋转到根节点,伸展树操作的均摊时间复杂度为logn 基本操作 存储 伸展操作 伸展树的最基本的操作当然就是伸展了,这也是它自平衡的基础 splay(x,S)表示在保持伸展树有序性的前提下,通过一系列旋转将伸展树S中的元素x调整至树的根部。 旋转操作就 阅读全文
posted @ 2018-01-30 20:50 Bennettz 阅读(600) 评论(0) 推荐(1) 编辑
摘要: AVL树得名于它的发明者 G.M. Adelson-Velsky 和 E.M. Landis,是一种高度平衡的自平衡二叉查找树 它的查找、插入和删除在平均和最坏情况下都是O(log n),这得益于它的性质: 在满足二叉查找树的性质情况下,还满足每个结点的左右子树的高度之差的绝对值(平衡因子)最多为1 阅读全文
posted @ 2018-01-30 09:52 Bennettz 阅读(235) 评论(0) 推荐(1) 编辑
摘要: 定义 SBT也是一种自平衡二叉查找树,它的平衡原理是每棵树的大小不小于其兄弟树的子树的大小 即size(x->l)$\ge$size(x->r->l),size(x->r->r),右边同理size(x->r)$\ge$size(x->l->l),size(x->l->r) 具体操作 旋转 旋转几乎是 阅读全文
posted @ 2018-01-27 15:58 Bennettz 阅读(2403) 评论(2) 推荐(1) 编辑
摘要: 定义: Treap,顾名思义,就是tree和heap的结合,既满足二叉搜索树的性质,又满足二叉堆的性质 但是一个要求节点值小于右儿子的值,一个要求节点值大于右儿子的值,显然不可能做到 那我们只能一个节点存两个值,一个满足二叉搜索树(BST)性质,一个满足二叉堆的性质:如下图 节点中黑色的值满足二叉搜 阅读全文
posted @ 2018-01-26 16:10 Bennettz 阅读(311) 评论(0) 推荐(1) 编辑
摘要: 定义 可持久化线段树是可以保留历史版本的线段树,相当于保留了每次修改后的线段树,并且可以对每次修改后的结果进行查询 主要思想 对于询问历史版本的问题,我们对每次修改都新建一棵线段树 但是如果修改次数特别多,这样肯定是不可行的,这就要用到可持久化线段树了 我们通过观察可以发现,对于线段树的每次修改,不 阅读全文
posted @ 2018-01-25 16:30 Bennettz 阅读(194) 评论(0) 推荐(1) 编辑
摘要: 定义 划分树是一种基于线段树的数据结构。主要用于快速求出序列区间的第k大值。 划分树的根节点存储原数列 每个节点的左子节点存储它元素中较小的一半,右子节点存储它元素中较大的一半 并且同一个节点中元素的排列和原数列一样 例如1,5,3,4,2构成的划分树如下图所示 具体操作 建树 我们发现每层所有节点 阅读全文
posted @ 2018-01-24 22:12 Bennettz 阅读(247) 评论(0) 推荐(1) 编辑
摘要: 定义 归并树是线段树和归并排序的合成,它利用线段树将归并排序的每一步都记录下来 例如我们对1,5,3,4,2进行归并排序,就可以生成下面的归并树 归并树的每个父节点就是两个子节点归并排序后的结果 并且归并树的叶子节点的顺序是初始序列的顺序 用处 可以快速求出在原序列的一个区间中比某个数小(大)的有多 阅读全文
posted @ 2018-01-24 16:21 Bennettz 阅读(3030) 评论(0) 推荐(2) 编辑
摘要: zkw线段树是一种用空间换取操作的简便性和时间常数的线段树。 它使线段树节点的存储位置有规律,从而将线段树的递归操作用循环替代 zkw线段树一般分为有区间修改和无区间修改两种,无区间修改的zkw线段树可以做到O(1)的单点查询,比有区间修改的要快 无区间修改的zkw线段树 建树 下面用一张图解释普通 阅读全文
posted @ 2018-01-20 12:45 Bennettz 阅读(933) 评论(0) 推荐(1) 编辑
摘要: 一些定义 反演: 有两个函数F(n),G(n),已知$G(n)=\sum\limits a[n][x]*F(x)$,其中n在某些关系上包含x 通过G反过来求F的过程就是反演 数论函数: 数论函数(算术函数)指定义域为正整数、陪域为复数的函数 积性函数: 积性函数指对于所有互质的整数a和b有性质f(a 阅读全文
posted @ 2018-01-17 16:15 Bennettz 阅读(154) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 ··· 10 下一页