2-3-4 Tree

一棵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,956评论 1 4
  • B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m...
    文档随手记阅读 13,479评论 0 25
  • 0.目录 1.算法导论的红黑树本质上是2-3-4树 2.红黑树的结构和性质 3.红黑树的插入 4.红黑树的删除 5...
    王侦阅读 2,586评论 1 2
  • ▲男伴能接受妳从后方抱着他睡觉吗? (示意图) 妳和另一半睡觉时都怎么睡?是各睡各的,还是男友会把手臂让妳当...
    今日文传阅读 1,417评论 0 0
  • 我的母亲,今年已经六十有四了。她是农村妇女,兄弟姐妹九个,她是老大,所以外公只送她读一年书。 虽然母亲书读得少,但...
    暖暖阳光520阅读 264评论 0 1