开始介绍了二分查找,二叉查找树和二叉平衡树,Sedgewick的算法第四版中介绍过了,故就此略过。
接下来我总结一下数据结构中的树:
二叉排序树:略。
AVL树:在二叉排序树的基础上加上平衡条件(即每个节点左右子树高度差≤1)
2-3树:最简单的B树,有二节点和三节点(该节点有三个子节点,且该节点上有两个关键字)。
平衡树:每个节点左右子树高度差≤1。
完全二叉树:二叉树的基础上,每个节点所在的层,其右边节点不为空或全为空,其左边节点不为空。
B树:每个节点的子节点数≤M(M≥2),每个非根节点的关键字数≤m-1,所有叶节点在同一层。
B+树:
书中这么介绍B+树有点累赘,可以看这篇博客。
https://blog.csdn.net/qq_33171970/article/details/88395278
聚集索引和非聚集索引
注:索引组织表第四章P92页解释过。
再通过py_innodb_page_info工具来分析表空间,以及hexdump来观察索引的根页中存放的数据,可知聚集所引树的构造:
再通过py_innodb_page_info工具来分析表空间,以及hexdump来观察索引的根页中存放的数据,可知辅助索引(非聚集索引)的构造: