在下面描述的2-3-4 tree(来自Data Structures & Algorithm in Java, 2nd ed)中,为什么插入99
会导致83/92/104
的节点拆分看起来像99
'已被插入正确的孩子(C
孩子,在97
之后立即进入现场)而没有完成任何分裂?
答案 0 :(得分:2)
将99插入到C中就可以了,因为它会维护所有不变量,但是如果insert总是在向下扩展4个节点时,算法通常会更简单。然后总会有空间进行任何需要的提升和旋转。比较C已经是4节点的情况可能有所帮助。
答案 1 :(得分:0)
保持树的平衡,以保证性能。插入是递归的,并且它命中一个4节点(具有3个值和4个子节点的节点),这将导致完成拆分。