边界看似是算法的问题,但是数据结构有责任将自己的结构调优以简化算法对边界的判断。
在红黑树中,为了便于考察边界条件,数据结构中会产生一个head节点(下图中左),该节点的parent指针为空,左右指针分别指向自己。当插入一个节点(root节点)之后,指针更新如下图所示:head节点与root节点通过parent指针互指,head节点的左右节点都指向root节点。这种结构有助于后来遍历等算法对边界条件的判定。
边界看似是算法的问题,但是数据结构有责任将自己的结构调优以简化算法对边界的判断。
在红黑树中,为了便于考察边界条件,数据结构中会产生一个head节点(下图中左),该节点的parent指针为空,左右指针分别指向自己。当插入一个节点(root节点)之后,指针更新如下图所示:head节点与root节点通过parent指针互指,head节点的左右节点都指向root节点。这种结构有助于后来遍历等算法对边界条件的判定。