欢迎光临散文网 会员登陆 & 注册

5.rbtree与234树

2022-08-20 21:34 作者:Tokiyi  | 我要投稿

rbtree(红黑树)是能一种能实现快速检索海量特征数据的一种数据构型。它是通过按一定的准则把数据分配到二叉树,来维持树形的平衡,进而有效利用到二叉树的存储空间供以检索与处理。

关于具体解释而言,我觉得从234树作为它的一种朴素形式能够给问题提供新的一个维度的切入。而刚开始肯定不可能面面俱到,只能从一些小问题着手,而以下是一些关于234树的一些说法和讨论:

1)基本构型:

其中从左到右就是234树的基本构型,分别为2节点,3节点,4节点。其中每个都各自有条件:

2节点:a<1&&1<b

3节点:a<1&&1<b&&b<2&&2<c

4节点:a<1&&1<b&&b<2&&2<c&&c<3&&3<d

但如果粒子数不是1,不是2,也不是3而是四呢?设有一种树形分支形如下图,

那么它是由怎样的节点形式构成?

如果从二元的角度说,如果x属于上部分,那么看样子他就是4+2;如果x是属于下部分,那么看样子他就应该是3+3。其实这就像是下围棋的时候对于一个落子的判断一样,对于一个围棋A,B区的交点,它究竟是看作和A区连成一片还是和B区连成一片,很大一部分因素是取决于棋手想要构造的棋局有关。

而在这里应当要看作是2+2+3。因为无论是3+3还是4+2,断开的两块的缝隙总是在偏右的位置,而唯有2+2+3的构造使得当左侧的2与右侧的3按照234树基本构型被看作整体时,中央才是与顶部对齐的根处。根要被看作永远的中央用以维持二叉树的平衡。

不过当然,根部也是可变的。在一个怎样被称为恰当的时机选择对根部选择变动,使得由于一个新的子节点的插入发生变动后仍然保持一种中心观念,这是与棋手构造棋局的棋术有关。如果从一种更加宽泛的概念和角度上去看待这个问题,这里提到的234树其实只是其中的一种策略,因为此外也有23树作为另一种可用的策略。


5.rbtree与234树的评论 (共 条)

分享到微博请遵守国家法律