直面弱点,奋发图强!!!
红黑树、B树、B+树,都是软件开发中一个比较难理解和掌握的知识点。他们的本质依然是平衡二叉搜索树。如果直接去学习红黑树、B树、B+树的知识点,无异于雾里看花。这次我们从这些数据结构的底层逻辑设计出发,不牵扯任何代码层面上的内容。
由于2、3、4树的查询操作和二叉搜索树的操作一致,不再赘叙。本次主要完成插入和删除的操作描述
可以参考之前的文章,熟悉二叉树一些基本定义和操作
我们把1-10的数字拆入到一棵234树中
依次插入1、2、3节点
插入4节点,需要将4节点分裂成3个2节点的操作
至此,插入逻辑介绍完毕
节点的删除逻辑,和二叉树的删除逻辑区别不大。如果是叶子节点,可以直接删除;如果是非叶子节点,需要转换为后继/前驱节点的删除方式,所有都可以转换为极值的删除
至此,我们的234树的插入和删除操作介绍完了。搞清楚234树的插入和删除操作将是后续红黑树、B树、B+树的前置条件。