标签:key 设置 平衡 节点 红色 存在 一个 不为 一起
红黑树(Cormen, 2001)是一个平衡二叉树的高效实现。
是一种特殊的二叉查找树,自平衡二叉查找树,为了防止二叉查找树退化成链表的情况。
相对于AVL树(完美平衡二叉树),是一种平衡二叉树,它追求极致的平衡。
根节点左边的值都小于根节点的值,右边的值都大于根节点的值。
红黑树是一种含有红黑结点并能自平衡的二叉查找树。它必须满足下面性质:
因为红黑树是一颗二叉平衡树,并且查找不会破坏树的平衡,所以查找跟二叉平衡树的查找无异:
从根结点开始查找,把根结点设置为当前结点;
若当前结点为空,返回null;
若当前结点不为空,用当前结点的key跟查找key作比较;
若当前结点key等于查找key,那么该key就是查找目标,返回当前结点;
若当前结点key大于查找key,把当前结点的左子结点设置为当前结点,重复步骤2;
若当前结点key小于查找key,把当前结点的右子结点设置为当前结点,重复步骤2;
红黑树怎么自平衡?什么时候需要左旋或右旋?插入和删除破坏了树的平衡后怎么处理?
标签:key 设置 平衡 节点 红色 存在 一个 不为 一起
原文地址:https://www.cnblogs.com/aworkstory/p/13208633.html