数据结构
金发只是水一下
为什么坚持,想想当初
展开
-
B树与B+树
B树 如果前面的2-3树与2-3-4树理解了,B树也就理解了,因为2-3树就是3阶的B树,2-3-4树就是4阶的B树。所以,对于B树的性质,根据2-3-4树都可以推导出来了,即, 一颗m阶的B树(B-tree) 定义如下:(1)每个节点最多有 m-1 个key;(2)根节点至少有1个key;(3)非根节点至少有 Math.ceil(m/2)-1 个key;(4)每个节点...原创 2018-08-30 17:00:59 · 24628 阅读 · 7 评论 -
从二叉查找树到B+树
二叉查找树与平衡二叉树: https://blog.csdn.net/qq_25940921/article/details/821830932-3树与2-3-4树: https://blog.csdn.net/qq_25940921/article/details/82183601红黑树: https://blog.csdn.net/qq_25940921/article/deta...原创 2018-08-30 17:07:35 · 624 阅读 · 0 评论 -
二叉查找树与平衡二叉树
二叉查找树 二叉查找树,也称二叉搜索树,或二叉排序树。其定义也比较简单,要么是一颗空树,要么就是具有如下性质的二叉树:(1)若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2) 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3) 任意节点的左、右子树也分别为二叉查找树;(4) 没有键值相等的节点。 如上图所示,是不同形态...原创 2018-08-29 14:47:46 · 83394 阅读 · 41 评论 -
2-3树与2-3-4树
2-3树 2-3树是一棵自平衡的多路查找树,它并不是一棵二叉树,具有如下性质:(1)每个节点有1个或2个key,对应的子节点为2个子节点或3个子节点;(2)所有叶子节点到根节点的长度一致;(3)每个节点的key从左到右保持了从小到大的顺序,两个key之间的子树中所有的key一定大于它的父节点的左key,小于父节点的右key。 如下图所示, 为什么会有2-3树这种数...原创 2018-08-29 15:12:06 · 8086 阅读 · 7 评论 -
红黑树
红黑树 红黑树可以算是树状结构中的“明星”了,应该计算机专业都听过红黑树这个专业名词,而且红黑树的应用也很广泛,比方说, java 集合中的 TreeSet 和 TreeMap ,以及 jdk8 的 HashMap 链表长度超过7之后会转成红黑树等等。但实际上红黑树却很复杂,他并不是像前面讲过的树一样是棵平衡树,即红黑树并没有定义从根节点到叶子节点的长度一致或高度差为1,然而他却能保证树大致...原创 2018-08-29 15:32:19 · 1701 阅读 · 4 评论