数据结构与算法
生活不只*眼前的苟且
这个作者很懒,什么都没留下…
展开
-
LSM树(Log-Structured Merge Tree)存储引擎
LSM树(Log-Structured Merge Tree)存储引擎代表数据库:nessDB、leveldb、hbase等核心思想的核心就是放弃部分读能力,换取写入的最大化能力。LSM Tree ,这个概念就是结构化合并树的意思,它的核心思路其实非常简单,就是假定内存足够大,因此不需要每次有数据更新就必须将数据写入到磁盘中,而可以先将最新的数据驻留在磁盘中,等到积累到最后多之后,转载 2017-07-03 09:38:51 · 497 阅读 · 0 评论 -
双数组Trie树(DoubleArrayTrie)Java实现
双数组Trie树(DoubleArrayTrie)是一种空间复杂度低的Trie树,应用于字符区间大的语言(如中文、日文等)分词领域。双数组Trie (Double-Array Trie)结构由日本人JUN-ICHI AOE于1989年提出的,是Trie结构的压缩形式,仅用两个线性数组来表示Trie树,该结构有效结合了数字搜索树(Digital Search Tree)检索时间高效的特点转载 2017-08-07 10:31:17 · 1187 阅读 · 0 评论 -
B树、B-树、B+树、B*树
B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入转载 2017-09-05 19:03:19 · 258 阅读 · 0 评论 -
哈夫曼树
一,什么是哈夫曼树什么是哈夫曼树呢?哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。下面用一幅图来说明。它们的带权路径长度分别为:图a: WPL=5*2+7*2+2*2+13*2=54图b: WPL=5*3+2*3+7*2+13*1=48可见,图b的带权路径长度较小,我们可以证明图b就是哈夫曼树(也称为最优二叉树)。回到顶部二,如何构建哈夫曼树一般可以按下面步骤构建:1,将所有左,右子树转载 2017-11-29 15:00:35 · 333 阅读 · 0 评论