首页 > 代码库 > 索引学习 查找 数据结构 梳理

索引学习 查找 数据结构 梳理

索引是啥?

索引是数据结构,在数据结构有一章叫查找,在国外的一本书上名字就找索引。

准确的说就是:

加快查找的数据结构。

查找的那一章:

1.有序数组的二分查找

2.二叉查找 ,在此处,为了效率防止退化,引入了平衡的调整。

3.在上述的平衡的定义,为左右高度至多差1,要求太严,调整频露高,于是红黑树应运而生,它对平衡的定义要求最长的比最短的最多2倍,降低平衡要求的目的是提高性能、

红黑树的5条性质如下:

1.节点为黑或红。

2.根和叶子为黑。

3.不能出现红红。

4,每个节点到叶子黑色高度相同。

4.对于磁盘上的查找,我们需要减少IO次数,所以应该降低树的高度,一般来说INnndb中为3到4层,扇出很高,很矮,因此改为多路查找树,为2路查找的扩展,但是多路查找树,依然有平衡问题,此处结局的思路与红黑树很相似,那就是B-tree,因为B-tree,也要满足一些性质,主要是一个节点中有多少个key,利用key的范围来保证一定的平衡性,此时也需要调整。