美文网首页
2-3-4 Tree

2-3-4 Tree

作者: 程序猪小羊 | 来源:发表于2018-06-02 12:41 被阅读24次

一棵2-3-4树是这样一棵树:
它或者为空,或者是由以下三类节点组成的树:

  • 2-节点,有1个关键字和由关键字划分的2个区间链接;
  • 3-节点,有2个关键字和由关键字划分的3个区间链接;
  • 4-节点,有3个关键字和4个区间链接。
image.png

插入操作

在平衡2-3-4树中,每次进行插入仍然能在树中保持完美的平衡状态。例如,

如果搜索终止处的节点是一个2-节点,就把它转变成一个3-节点。
如果搜索终止处是一个3-节点,就把它转变成一个4-节点。
如果搜索终止处是一个4-节点,而且其父节点也是一个4-节点,那该怎么办呢?

解决办法是在自顶而下的过程中,如果遇到一个4-节点,就先把它分裂成两个2-节点,然后把关键字之一传递到父节点上,并改变该节点的父节点。如下图所示:


image.png

通过这种方法,就能保证自上而下处理时,当前节点的父节点不会是一个4-节点。
当然,当前节点的父节点不会是一个4-节点的递归前提,是根节点不是4-节点。如果根节点成为了4-节点,意味着树的高度要增加了。就把它变成3个2-节点组成的三角形,使树增高一层。如下图右下角所示:

相关链接:
CS 61B: Lecture 27
查找:平衡2-3-4树、AVL树(平衡二叉树)、(左倾)红黑树

相关文章

网友评论

      本文标题:2-3-4 Tree

      本文链接:https://www.haomeiwen.com/subject/cvxhsftx.html