索引(在MySQL中也叫做“键(key)”)是存储引擎用于快速找到记录的一种数据结构。 3.1.1 索引基础 B+ Tree 原理 1. 数据结构 B Tree 指的是 Balance Tree,也就是平衡树。平衡树是一颗查找树,并且所有叶子节点位于同一层。 B+ Tree 是基于 B Tree 和 ...
分类:
其他好文 时间:
2018-12-17 02:29:09
阅读次数:
183
"传送门" 其实要求的东西就是后缀树上所有叶子对的距离之和.构建反串SAM,然后构建parent树(原串后缀树),然后就是树型dp的事,~~具体细节留给读者自行思考~~ ~~那个,不会看代码啊~~ cpp include define LL long long define il inline de ...
分类:
其他好文 时间:
2018-12-16 21:42:06
阅读次数:
142
在看HashMap的源码时候看到了TreeNode。因此需要对其进行一个了解。是一个红黑树。可以百度一下红黑树的数据结构。分析了下源码,还是比较枯燥的 红黑树的性质:本身是一个二叉查找树(所有左节点的值都比右节点的小)。另: 这保证了红黑数是平衡的,从根到叶子的最长的可能路径不多于最短的可能路径的两 ...
分类:
其他好文 时间:
2018-12-13 17:45:38
阅读次数:
303
20172303 2018 2019 1《程序设计与数据结构》哈夫曼树编码与解码 哈夫曼树简介 定义:给定n个权值作为n个叶子结点,构造一棵二叉树,若带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。 ...
分类:
其他好文 时间:
2018-12-13 01:10:40
阅读次数:
242
# InnoDB存储引擎表示索引组织表,即表中数据按照主键顺序存放。而聚集索引(clustered index)就是按照每张表的主键构造一棵B+树, # 同时叶子结点存放的即为整张表的行记录数据,也将聚集索引的叶子结点称为数据页。聚集索引的这个特性决定了索引组织表中数据也是索引的一部分。 # 如果未 ...
分类:
其他好文 时间:
2018-12-12 20:34:51
阅读次数:
237
求不同的子串个数 如果规定根的话,那么弯曲的路径难以处理。 由于只有20个叶子,所以以每个叶子分别为根,建20棵trie树,再把20棵trie树合成一棵。 这样,trie上一个到某个祖先的路径构成了所有的子串。(可能重复) 所以trie上建SAM。SAM的路径条数(或者每个点的len[i]-len[ ...
分类:
其他好文 时间:
2018-12-12 17:38:50
阅读次数:
185
传送门 区间修改单点查询的主席树 改个差分就行了 首先强制在线的是查询 所以修改可以一次全读进来然后离散并且插进去 没有影响 这里的话先全修改完再查询 可以放弃树状数组直接维护差分 然后主席树维护区间数字个数和整体和 最后分到叶子节点的时候注意去对应个数个数字加进去就行 然后有个操作就是一次把所有这 ...
分类:
其他好文 时间:
2018-12-11 14:37:43
阅读次数:
194
哈夫曼树及哈夫曼编码 哈夫曼树是判定过程最优的决策树,又称最优二叉树。 哈夫曼树的每个结点有权值,一个结点的权值实际上就是这个结点子树在整个树中所占的比例,通常指字符对应的二进制编码出现的概率。权值大的结点距离根结点近。 树的带权路径长度(WPL):如果树中每个叶子上都带有一个权值,则把树中所有叶子 ...
分类:
其他好文 时间:
2018-12-10 20:47:46
阅读次数:
269
Java哈夫曼编码实验 哈夫曼树的建立,编码与解码 建树,造树,编码,解码 一、哈夫曼树编码介绍 1、哈夫曼树: (1)定义:假设有n个权值{w1, w2, ..., wn},试构造一棵含有n个叶子结点的二叉树,每个叶子节点带权威wi,则其中带权路径长度WPL最小的二叉树叫做最优二叉树或者哈夫曼树。 ...
分类:
其他好文 时间:
2018-12-09 16:15:54
阅读次数:
242
1,二叉树(Binary tree) 二叉树:每一个节点最多两个子节点,如下图所示: 相关概念:节点Node,路径path,根节点root,边edge,子节点 children,父节点parent,兄弟节点sibling, 子树subtree,叶子节点leaf node, 度level,树高high ...
分类:
编程语言 时间:
2018-12-08 14:48:18
阅读次数:
401