![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
我不是攻城狮
越努力越幸运
展开
-
mysql 平衡二叉树、B树、B+树
(2)子节点数:非叶节点(根节点和枝节点)的子节点数 >1、且子节点数量<=M 、且M>=2,空树除外(注:M阶代表一个树节点最多有多少个查找路径,M=M路,当M=2则是2叉树,M=3则是3叉);(3)关键字数:枝节点的关键字数量大于等于ceil(m/2)-1个且小于等于M-1个(注:ceil()是个朝正无穷方向取整的函数 如ceil(1.1)结果为2);B+树索引的所有数据均存储在叶子节点,而且数据是按照顺序排列的,并且以双向链表进行存储。(1)、非叶子节点不能超过两个子节点,且可以存储键值对。原创 2023-04-07 15:45:52 · 83 阅读 · 0 评论 -
二叉树、红黑树、二叉平衡树
红黑树优化了平衡二叉树需要频繁自旋的场景,插入最多需要两次旋转,删除最多需要三次旋转,不需要顾忌左右子树的高度差1的情况,权衡下,红黑树插入和删除的效率其实更高。缺点:为了平衡左子树和右子树的高度相差不超过1,插入和删除节点需要频繁左旋和右旋,消耗性能。左旋:逆时针旋转两个节点,让一个节点被其右子节点取代,而该节点成为右子节点的左子节点。右旋:顺时针旋转两个节点,让一个节点被其左子节点取代,而该节点成为左子节点的右子节点。特点:左子树和右子树需要通过自旋方式平衡两边树的高低,可以避免链表的出现。原创 2024-05-23 15:04:37 · 199 阅读 · 0 评论