Fork me on GitHub

数据结构——二叉查找(排序)树

二叉排序树又称二叉查找树(Binary Search Tree,简称BST),它可以是一棵空树,若非空时具有以下性质:

  • 若根结点的左子树非空,则左子树上的所有结点的关键字均小于等于根节点的关键字值;
  • 若根结点的右子树非空,则右子树上所有的结点的关键字均大于等于根节点的关键字值;
  • 根结点的左、右子树也是二叉排序树;

  在理想的情况下,二叉查找树增删改查的时间复杂度为O(logN)(其中N为结点数),最坏的情况下为O(N)。当它的高度为logN+1时,我们就说二叉查找树是平衡的。

什么是前驱和后继:

  • 结点的前驱:是该结点的左子树中的最大结点;
  • 结点的后继:是该结点的右子树中的最小结点;

  也就是在中序遍历中,结点前、后的结点,就是结点的前驱和结点的后继。

其它请看这篇精彩博文,不再重复造轮子。

posted @ 2017-02-12 19:54  郑斌blog  阅读(485)  评论(0编辑  收藏  举报