05 2020 档案
摘要:关于线段树 线段数是一种区间树 可以看出:叶子即为输入的数 假设一个节点为 x ,则其左儿子为 2x 右儿子为 2x+1 操作解析 约定 | 变量名 | 意义 | | | : : | | input[] | 输入的数 | | t[] | 线段树 | 其中 t[] 是个结构体,包含左边界 l ,右边界
阅读全文
摘要:前面我们对平衡树有了个大概的了解 关于 Treap Treap=Binary Search Tree + Heap 二叉搜索树 + 二叉堆(一般是小根堆) Treap 每一个节点有两个值 一个值是平衡树的值,一个值是随机的(用于堆来保持平衡) 二叉堆的性质使其保持平衡 关于 FHQ Treap 这个
阅读全文
摘要:平衡树的性质 它其实就是一个 BST(Binary Search Tree 二叉搜索树)。 当然,不同的平衡树会有自己的特性 BST 的性质 只有一个:任意一个节点的左子树的所有节点都比它的优先级高,右子树的所有节点都比他的优先级低。 注意:一个节点也可以当成一颗子树 如下: Why 平衡树? 看到
阅读全文
摘要:关于树状数组 树状数组,即 Binary Indexed Tree ,主要用于维护查询前缀和 属于 log 型数据结构 和线段树比较 都是 log 级别 树状数组常数、耗费的空间、代码量都比线段树小 树状数组无法完成复杂的区间操作,功能有限 树状数组介绍 二叉树大家一定不陌生 然而真实的树状数组省去
阅读全文