红黑树查找总结

52次阅读

共计 336 个字符,预计需要花费 1 分钟才能阅读完成。

因为红黑树是一颗二叉平衡树,并且查找不会破坏树的平衡,所以查找跟二叉平衡树的查找无异:

从根结点开始查找,把根结点设置为当前结点;
若当前结点为空,返回 null;
若当前结点不为空,用当前结点的 key 跟查找 key 作比较;
若当前结点 key 等于查找 key,那么该 key 就是查找目标,返回当前结点;
若当前结点 key 大于查找 key,把当前结点的左子结点设置为当前结点,重复步骤 2;
若当前结点 key 小于查找 key,把当前结点的右子结点设置为当前结点,重复步骤 2;
非常简单,但简单不代表它效率不好。正由于红黑树总保持黑色完美平衡,所以它的查找最坏时间复杂度为 O(2lgN),也即整颗树刚好红黑相隔的时候。能有这么好的查找效率得益于红黑树自平衡的特性,而这背后的付出,红黑树的插入操作功不可没

正文完
 0