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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构——二叉查找(排序)树相关的知识,希望对你有一定的参考价值。

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

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

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

什么是前驱和后继:

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

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

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

以上是关于数据结构——二叉查找(排序)树的主要内容,如果未能解决你的问题,请参考以下文章

数据结构学习笔记——二叉排序树

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

数据结构 动态查找与二叉排序树

Java 大话数据结构(11) 查找算法(二叉排序树/二叉搜索树)

Python描述数据结构之二叉排序树篇

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