原文:后缀平衡树学习笔记

后缀平衡树简介 后缀平衡树是一种动态维护后缀排序的数据结构。 具体而言,它支持在串 S 的开头添加 删除一个字符。 前置知识 重量平衡树 重量平衡树保证操作影响的最大子树大小是最坏的或均摊的或期望的 O logn 。 不采用旋转机制的重量平衡树 替罪羊树 替罪羊树依赖于一种暴力重构的操作。 它规定了一个平衡因子 alpha ,需要保证对于每个节点有 alpha times sz x ge sz l ...

2019-01-26 08:57 0 624 推荐指数:

查看详情

[总结] 后缀平衡树学习笔记

定义 后缀平衡树,就是动态的维护后缀数组,可以 \(O(\log n)\) 在末尾插入字符,\(O(\log n)\) 查询 \(rank,SA\)。但是由于是维护的后缀信息,所以插入只能在末尾插入字符(然后转化成在开头加一个字符),相当于添加一个后缀。 在线构造 方法一: 我们需要一种 ...

Tue Jan 15 18:04:00 CST 2019 0 900
后缀平衡树

如果需要动态维护后缀数组,支持在字符串前端插入一个字符,询问后缀的大小关系,如何做呢? 这是一个不断插入的问题,可以从增量的角度考虑。我们在前端插入一个字符,其实就是插入了一个新的后缀。我们的问题其实就是这个后缀排名多少。我们可以用平衡树维护一下后缀数组,从根节点开始二分比较这个后缀的大小,看看 ...

Tue Apr 18 04:14:00 CST 2017 0 1313
学习笔记平衡树-splay

嗯好的今天我们来谈谈cosplay splay是一种操作,是一种调整二叉排序的操作,但是它并不会时时刻刻保持一个平衡,因为它会根据每一次操作把需要操作的点旋转到根节点上 所谓二叉排序,就是满足对中的任意一个节点,它左子树上的任意一个值比它的值小,右子树上的任意一个值比它的值大的一棵二叉树 ...

Mon Jul 23 02:08:00 CST 2018 5 3360
普通平衡树学习笔记之Splay算法

前言 今天不容易有一天的自由学习时间,当然要用来“学习”。在此记录一下今天学到的最基础的平衡树。 定义 平衡树是二叉搜索和堆合并构成的数据结构,它是一 棵空或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。 这里仅仅说明一下平衡树中的\(Splay\)算法 ...

Sat Jul 11 04:37:00 CST 2020 4 381
今天要来点自平衡的二叉搜索吗——平衡树学习笔记

平衡树学习笔记学习平衡树之前,我们首先得弄懂什么是平衡树……——引言 提示:本篇约3000字,学习此内容可能需要2小时 复习部分: 先回忆一下二叉搜索,当插入一个元素时,如果它比父节点大,就作为父节点的左儿子,否则作为父节点的右儿子。 下面这一坨就是一棵二叉搜索 如图,当我 ...

Thu Jul 11 22:38:00 CST 2019 1 386
浅谈(线段平衡树)&学习笔记

0XFF 前言 *如果本文有不好的地方,请在下方评论区提出,Qiuly感激不尽! 0X1F 这个东西有啥用? ------线段平衡树,可以用于解决待修改区间\(K\)大的问题,当然也可以用 ------树状数组套可持久化线段,但是 线段平衡树 更加容易 ...

Tue Jan 22 18:38:00 CST 2019 0 593
平衡树入门

平衡树入门 定义与性质 平衡树是二叉搜索和堆合并构成的一种数据结构,所以它的名字是 \(tree(\)二叉搜索\()+heap(\)堆\()\) 即 \(treap\) 。 事实上,堆和的性质是冲突的,二叉搜索要求满足左儿子小于根节点小于右儿子,而堆是满足根节点小于等于(或大于等于 ...

Thu Nov 04 05:33:00 CST 2021 2 97
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM