平衡2-3-4树
一棵2-3-4树是这样一棵树:它或者为空,或者是由以下三类节点组成的树:2-节点,有1个关键字和由关键字划分的2个区间链接;3-节点,有2个关键字和由关键字划分的3个区间链接;4-节点,有3个关键字和4个区间链接。
一棵平衡2-3-4树是一棵2-3-4搜索树,其中所有指向空树的链接到树根的距离都相同。
插入操作
在平衡2-3-4树中,每次进行插入仍然能在树中保持完美的平衡状态。例如,
- 如果搜索终止处的节点是一个2-节点,就把它转变成一个3-节点。
- 如果搜索终止处是一个3-节点,就把它转变成一个4-节点。
如果搜索终止处是一个4-节点,而且其父节点也是一个4-节点,那该怎么办呢?
解决办法是在自顶而下的过程中,如果遇到一个4-节点,就先把它分裂成两个2-节点,然后把关键字之一传递到父节点上,并改变该节点的父节点。如下图所示:
通过这种方法,就能保证自上而下处理时,当前节点的父节点不会是一个4-节点。
当然,当前节点的父节点不会是一个4-节点的递归前提,是根节点不