随笔分类 -  数据结构-平衡树

摘要:区间反转问题 本篇随笔浅谈一下算法竞赛中的区间反转问题。 例题 洛谷 P3391 【模板】文艺平衡树 题目传送门 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列。 其中需要提供以下操作:翻转一个区间,例如原有序序列是 5\ 4\ 3\ 2\ 15 4 3 2 1,翻转区间是 [ 阅读全文
posted @ 2020-07-31 15:53 Seaway-Fu 阅读(1870) 评论(0) 推荐(0)
摘要:Splay算法旋转操作的模拟 本篇随笔简单讲解一下Splay算法维护平衡树时的旋转操作。重点集中在如何模拟旋转。 对Splay没有概念的同学请移步: Splay详解 先上图再讲: 这是右旋。 针对一个节点,我们需要维护它的父亲、两个儿子、值和子树大小这些信息。在本文中用以下符号表示: ch[x][0 阅读全文
posted @ 2020-07-30 15:13 Seaway-Fu 阅读(377) 评论(0) 推荐(0)
摘要:Splay算法详解 本篇随笔浅谈一下算法竞赛中的$Splay$算法。 Splay的概念 Splay在我看来应该算作一种算法而非数据结构。无论是Treap,AVL,SBT,替罪羊树还是Splay其实都应该算作算法,因为它们都在解决一种数据结构存在的问题:二叉搜索树$BST$。 对于二叉搜索树和Trea 阅读全文
posted @ 2020-07-28 16:03 Seaway-Fu 阅读(3415) 评论(1) 推荐(6)
摘要:洛谷 P3369 【模板】普通平衡树 洛谷传送门 题目描述 您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作: 插入 xx 数 删除 xx 数(若有多个相同的数,因只删除一个) 查询 xx 数的排名(排名定义为比当前数小的数的个数 +1+1 ) 查询排名为 xx 的数 求 阅读全文
posted @ 2020-07-28 15:45 Seaway-Fu 阅读(264) 评论(0) 推荐(1)
摘要:树堆(Treap)详解 本篇随笔详细讲解一下一种随机化数据结构——树堆($Treap$)。 树堆的概念 首先给一个字符串等式: $$ Treap=Tree+heap $$ 所以$Treap$树堆其实就是树+堆。树是二叉查找树$BST$,堆是二叉堆,大根堆小根堆都可以。 关于$BST$的相关知识,请看 阅读全文
posted @ 2020-05-13 18:55 Seaway-Fu 阅读(7370) 评论(3) 推荐(2)
摘要:详解二叉查找树(BST) 本篇随笔简单讲解一下数据结构——二叉查找树($Binary\,\,Sort\,\,Tree,BST$),(后文的“二叉查找树”一词均用$BST$代替)。 BST的概念 首先,$BST$是一棵二叉树。 它的定义是,根节点左子树全部 严格小于 根节点,右子树 大于等于 根节点, 阅读全文
posted @ 2020-04-03 18:49 Seaway-Fu 阅读(1165) 评论(1) 推荐(0)