B-tree,B是balance,一般用于数据库的索引。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。而B+tree是B-tree的一个变种,大名鼎鼎的MySQL就普遍使用B+tree实现其索引结构。 B-tree又叫平衡多路查找树。一棵m阶的B-tree (m叉树) ...
分类:
其他好文 时间:
2016-11-28 08:11:23
阅读次数:
106
数据结构:二叉查找树(C语言实现) ?写在前面 关于二叉树的基础知识,请看我的一篇博客:二叉树的链式存储 说明: 二叉排序树或者是一棵空树,或者是具有下列性质的二叉树: 1.若其左子树不空,则左子树上所有结点的值均小于它的根结点的值; 2.若其右子树不空,则右子树上所有结点的值均大于它的根结点的值; ...
分类:
编程语言 时间:
2016-11-22 02:59:39
阅读次数:
280
红黑树(一) 原理和算法详细介
1 R-B Tree简介
R-B Tree,全称是Red-Black Tree,又称为“红黑树”,它一种特殊的二叉查找树。红黑树的每个节点上都有存储位表...
分类:
编程语言 时间:
2016-11-19 13:34:17
阅读次数:
170
B树简介B树,是为磁盘或其他直接存取辅助存储设备二设计的一种平衡查找树,由于它的特殊结构,可以大大减少访问磁盘I/O的次数,因此在数据库系统常使用B数或B树的变形来存储信息。B树满足某种条件,与红黑树或其他搜索树不同,一棵M(M>2)的B树,是一棵M路的平衡搜索树..
分类:
其他好文 时间:
2016-11-16 03:18:14
阅读次数:
237
文章浅谈算法和数据结构: 十 平衡查找树之B树MySQL索引背后的数据结构及算法原理Query Planning(这篇是sqlite关于索引的文档)EXPLAIN QUERY PLAN MySQL单表百万数据记录分页性能优化 ...
分类:
数据库 时间:
2016-11-13 21:59:07
阅读次数:
187
前面讲解了平衡查找树中的2-3树以及其实现红黑树。2-3树种,一个节点最多有2个key,而红黑树则使用染色的方式来标识这两个key。 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取 ...
分类:
编程语言 时间:
2016-11-09 19:49:20
阅读次数:
229
1.把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。 10 / \ 6 14 / \ / \4 8 12 16 转换成双向链表4=6=8=10=12=14=16。 首先我们定义的二元查找树 节点的数据结构 ...
分类:
编程语言 时间:
2016-11-06 22:39:56
阅读次数:
366
二叉树 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。 二叉树常被用于实现二叉查找树和二叉堆。 二叉树的每个结点至多只有二棵子树(不存在度大于2的结点),二叉树的子树有左右之分,次序不能颠倒。 二叉树在图论中是 ...
分类:
其他好文 时间:
2016-11-05 17:23:07
阅读次数:
272
红黑树简介红黑树是一种自平衡二叉查找树,也有着二叉搜索树的特性,保持着右边始终大于左边结点key的特性。前面提到过的AVL树,也是二叉搜索树的一种变形,红黑树没有达到AVL树的高度平衡,换句话说,它的高度,并没有AVL树那么高的要求,但他的应用却更加的广泛,实践中是相..
分类:
编程语言 时间:
2016-11-01 21:32:54
阅读次数:
284
本文用C++实现简单的二叉查找树。其中某些函数有两个版本,一个是用于内部调用,一个是用于外部调用。绝大多数函数都是通过递归实现,这也显示出递归的强大。 其中: clone函数的巧妙应用实现了操作符的重载 ...
分类:
编程语言 时间:
2016-10-31 14:07:55
阅读次数:
168