红黑树的查找

一 概述

红黑树是基于二叉平衡搜索树的数据结构为基础,在基于红黑树结构的查找并不会破坏树的平衡,所以查找跟二叉平衡树的查找是一样的。

二 红黑树的查找步骤

  1. 从根结点开始查找,把根结点设置为当前结点。
  2. 如果当前结点为空时,则以null作为返回。
  3. 如果当前结点不为空,则将当前结点的key同要查找的key作比较。
  4. 如果当前结点的key等于查找的key,那么该key就是查找的目标,则返回前结点的值。
  5. 如果当前结点的key大于查找的key,那么就把当前结点的左子节点设置为当前结点,重复步骤2。
  6. 如果当前结点的key小于查找的key,那么就把当前结点的右子结点设置为当前结点,重复步骤2。

红黑树的查找_第1张图片

三 红黑树查找分析

根据红黑树的查找策略可知,红黑树的查找并不是很复杂,但是简单并不代表其效率不好。正是由于红黑树总是保持黑色完美平衡(红黑树的自平衡特性),所以它的查找最坏时间复杂度为O(lgN),即整棵树的结点刚好是红黑相隔的时候。

注:一棵有n个内部结点的红黑树的高度最大为2lg(n+1)。

你可能感兴趣的:(数据结构,+,算法,Java基础,#,Java8,红黑树,平衡树,二叉搜索树)