在理解B-Tree时,应将其想象为向上还是向下生长?
B-Tree的生长方向:视觉与实际逻辑的区别
从实际操作逻辑来说,B-Tree确实是「向下生长」的:所有节点的拆分、扩容都是从叶子节点开始触发的。只有当底层叶子节点被填满后,才会拆分出中间键向上移动到父节点;如果父节点也满了,才会继续向上触发拆分。本质就是底层数据先达到容量上限,倒逼上层节点调整,类似树根在上方,新的叶子往下方延伸的逻辑。
视觉上看起来像「向上生长」,完全是绘图习惯导致的错觉——我们默认把根节点画在最顶部,叶子节点在最底部,所以中间键向上移动到父节点的过程,在图里就显得像是树在往上“扩展”。但这只是呈现方式的约定,和实际的操作顺序毫无关系。
不用纠结“向上/向下”的字面表述,核心记住B-Tree的拆分逻辑是从叶子节点向上触发就行,视觉方向只是约定俗成的绘图方式而已。
内容的提问来源于stack exchange,提问作者Big_Guy
相关产品推荐
相关产品推荐

