文件系统和数据库索引用B树而不是红黑树的原因
红黑树是二叉树,而B树可以大于2个节点,这使得B树高度小
高度小,意味着IO小,因为要不断的根据指针找下一个节点
而外存的IO速度你懂得吧,越少越好、
其次,由于局部性原理,以下是引用
即使只需要一个字节,磁盘也会从这个位置开始,顺序向后读取一定长度的数据放入内存。这样做的理论依据是计算机科学中著名的局部性原理:
当一个数据被用到时,其附近的数据也通常会马上被使用。
红黑二叉树,每根据指针寻找下一个节点时,节点周围的内存也会被读入,但他们并没有什么用
而B树就不一样了,好几个节点数据连在一起,就完全可以利用到。