随笔分类 - 数据结构
摘要:例题传送门 听YZ哥哥说Splay是一种很神奇的数据结构,所以学习了一下它的最基本操作。O(1)的Spaly。 伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它能在O(logn)内完成插入、查找和删除操作。它由丹尼尔·斯立特Daniel Sleator和罗伯特·恩卓·塔扬Robert
阅读全文
摘要:题目传送门 平衡二叉树(Balanced Binary Tree)具有以下性质:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、Treap、伸展树等。 最小二叉平衡树的节点的公式如下 F(n)=F(n-1
阅读全文
摘要:主席树刚接触觉得超强,根本看不懂,看了几位dalao的代码后终于理解了主席树。 先看一道例题:传送门 题目大意: 假设我们预处理出了每个数满足条件的最右边界。 先考虑暴力做法,直接对x~y区间暴枚,求出答案。 主席树做法:设主席树的下标表示边界为i的信息。 网上找不到百度百科对主席树的定义,那我说说
阅读全文
摘要:Trie,之前觉得一个听起来很diao的数据结构,学了发现其实是一个挺简单的数据结构。 在计算机科学中,trie,又称前缀树或字典树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。 其实就是一棵树上记录的是字母。 但是要注
阅读全文
摘要:线段树,顾名思义,就是指一个个线段组成的树。 线段树的定义就是: 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)。 ——摘自百度百科 如图,这就是一棵线
阅读全文