1,二叉树和红黑树的缺点:
不管二叉树或红黑树,本质就是二叉树,都只有两个子节点,当数据量很大的时候,层级较深,此时需要一颗拥有多个子节点的树–B树
2,B树
tips:数据结构可视化的网站:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
以5阶为例,当插入第5个节点的时候,大于4个key,此时以5个节点的中间节点向上分裂
3,B+树
B+树是B树的变种
特点:1,所有的元素都会出现在叶子节点;2,叶子节点形成一颗单向链表
4,MySQL的索引,对B+树进行优化
5,hash
6,思考:为什么Innodb存储引擎选择使用B+树索引结构
在B+树中,不管查找哪条数据,都是在叶子节点中寻找,搜索效率稳定;且在叶子节点中增加双向链表,便于范围搜索与排序。