数据结构
end for time
价值需要慢慢积累,努力总会有回报
展开
-
b树,以及b+树的构建,以及mysql底层索引的原理
B-Tree: M阶的Btree的几个重要特性: 1.节点最多含有m颗子树(指针),m-1个关键字(数据)(m>=2); 2.除根节点和叶子节点外,其他每个节点至少有ceil(m/2)个子结点(子树),ceil为向上取整,5/2=3取整,分裂的时候从中间分开,分成两个子树 3.若根节点不是叶子节点,则至少有两颗子树。 Btree有个非常重要的操作:当一颗树不满足以上性质的时候...原创 2020-03-05 16:52:50 · 841 阅读 · 0 评论 -
红黑树的理解(2)
对上一篇做补充: 红黑树的变换规则: 旋转和颜色变换规则:所有插入的点默认为红色 1.变颜色的情况:当前结点的父亲是红色,且它的祖父结点的另一个子结点也是红色。(叔叔结点) (1)把父节点设为黑色 (2)把叔叔节点也设为黑色 (3)把祖父节点也就是父亲的父亲设为红色(爷爷) (4)把指针定义到祖父节点设为当前要操作的。(爷爷)分析的点变换的规则 2.左旋:当前父节点是红色,叔叔是黑...原创 2020-03-05 10:57:11 · 234 阅读 · 0 评论 -
红黑树的理解(1)
结构概念:数组,链表属于一种线性结构,而树属于一种层次结构。 红黑树的来源: 二叉搜索树是为了解决数据的搜索,但如果数据全在一边就会导致查找效率下降,于是就有了平衡二叉树。 红黑树就是一种平衡二叉树,avl树也是平衡二叉树 红黑树由对称二叉b树演变而来。两色平衡树框架 红黑树的应用场景: 红黑树在c++标准模板库中实现了map,set等数据结构 在Java中实现了tree map和h...原创 2020-03-02 22:42:15 · 153 阅读 · 0 评论