毕业设计做一个网站怎么做,深圳网站建设公司排行榜,做网站能创业吗,浙江大数据网站建设问答知识面试官问 #xff1a;索引为什么使用 B 树#xff0c;而不使用 B 树#xff0c;不使用红黑树呢
首先 B 树和 B 树 都是多叉搜索树#xff0c;然后我们先来观察一下 B 树和 B 树的数据结构#xff1a;
B 树的数据结构实现 B 树的数据结构实现 【B 树相…面试官问 索引为什么使用 B 树而不使用 B 树不使用红黑树呢
首先 B 树和 B 树 都是多叉搜索树然后我们先来观察一下 B 树和 B 树的数据结构
B 树的数据结构实现 B 树的数据结构实现 【B 树相较于 B 树的优势】 1. IO 次数更少查询效率更高 B 树的非叶子节点不存放实际的数据仅存放索引因此数据量相同的情况下相比既存储索引又存储数据的 B 树B 树的非叶子节点可以存放更多的索引所以 B 树查询时 IO 次数更少查询效率更高。 2. 范围查询性能高 B 树的叶子节点使用链表相连有利于范围查询而 B 树想要进行范围查询时就只能通过树的深度遍历或广度遍历来完成范围查询这就会产生更多节点的磁盘 IO查询效率就低了。 3. 插入和删除性能更好 B 树有大量的冗余节点所有的非叶子节点都是冗余索引这些冗余索引使得 B 树在进行插入和删除操作的时候效率很高不会像 B 树那样发生复杂的变化不断调整节点位置。 动图演示链接自己体会
B 树https://www.cs.usfca.edu/~galles/visualization/BTree.htmlB 树https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html导航页https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
那为什么不使用红黑树呢 连 B 树都不用红黑树就更不用说了。 其一它是二叉树那么它树的高度就比 B 树要高其二它在进行插入删除的时候需要不断的调整树的位置保证树的平衡性还需要保证节点的颜色符合红黑树的性质其三它的非叶子节点也是不仅要存储索引还要存储数据所以它 IO 的次数更多。