索引
索引是什么?索引是一种数据结构,是一种能够帮助我们快速定位到数据的数据结构。最长常见的数据结构有数组、链表、二叉树、红黑树。
数组我们如何定值查询?只能遍历比较了,最差的情况下要遍历所有元素,时间复杂度O(n)。
链表如何定值查找元素?那就更只能靠遍历每一个节点来实现了,时间复杂度O(n)。
二叉树如何查找元素?从根节点向下遍历,就查找二叉树来说,时间复杂度是O(log n)。
但是二叉树有一个问题,如果根节点是到叶子节点如果是顺序插入的话,二叉树就会变成一个线性的链表。
鉴于二叉树的缺点,我们需要一种平衡二叉树来提高我们的查询效率。
但是平衡二叉树还是有一个问题,当树的节点足够多的情况下,树的高度还是会很高,定值查询依然会有瓶颈。
B-树结构
B树为了保证树