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

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

点击右上角即可分享
微信分享提示