索引学习 查找 数据结构 梳理
索引是啥?
索引是数据结构,在数据结构有一章叫查找,在国外的一本书上名字就找索引。
准确的说就是:
加快查找的数据结构。
查找的那一章:
1.有序数组的二分查找
2.二叉查找 ,在此处,为了效率防止退化,引入了平衡的调整。
3.在上述的平衡的定义,为左右高度至多差1,要求太严,调整频露高,于是红黑树应运而生,它对平衡的定义要求最长的比最短的最多2倍,降低平衡要求的目的是提高性能、
红黑树的5条性质如下:
1.节点为黑或红。
2.根和叶子为黑。
3.不能出现红红。
4,每个节点到叶子黑色高度相同。
4.对于磁盘上的查找,我们需要减少IO次数,所以应该降低树的高度,一般来说INnndb中为3到4层,扇出很高,很矮,因此改为多路查找树,为2路查找的扩展,但是多路查找树,依然有平衡问题,此处结局的思路与红黑树很相似,那就是B-tree,因为B-tree,也要满足一些性质,主要是一个节点中有多少个key,利用key的范围来保证一定的平衡性,此时也需要调整。