一:相关概念
1.1:树的分类
1:AOV树
特点:树的任意节点左子树深度和右子树深度高度之差超过1,\
时间复杂度:插入O(1)
删除O(LogN)
查询O(logN)
2:红黑树
2.1:节点颜色是红色或者黑色
2.2:根节点黑色
2.3:空节点为黑色
2.4:叶子节点到根节点不能有连续的两个红节点
2.5:从任意节点到达根节点所有简单路径包含相同数目的黑色及节点
插入O(1)
删除O(1)
查询O(logn)
3:Trie树(字典树)
字典树常用搜索功能
1:一个节点的子孙具有相同的前缀
2:根节点为空,
4:B树
1:叶子节点出现在同一层,叶子节点相互关联并且叶子节点中的树从小到大排列
2:叶子节点才记录数据,非叶子节点只记录索引,一次性读入内存中的需要查找的关键字也就越多。相对来说IO读写次数也就降低了
5:B+树
B-树和B+树最重要的一个区别就是B+树只有叶节点存放数据,其余节点用来索引,而B-树是每个索引节点都会有Data域。
二:Mysql为什么用B树存储结构
mysql的数据是放到外部存储的,因此我们必须减低磁盘的IO次数,因此我们需要尽量降低树的高度,树的分叉越多越好,因此B树正好符合我们的要求