二叉查找树(Binary Search Trees,BST)数据结构详解
一、二叉查找树(BST)的简介
在之前的博客中,我们已经介绍了二叉树这种数据结构。二叉树的应用很广泛,也有很多变种,这里介绍的是二叉查找树(Binary Search Tree,BST)。二叉查找树是一种特殊的二叉树结构,它改善了二叉树的查找效率,二叉查找树相比于其他数据结构的优势在于查找、插入的时间复杂度较低。为 $O(\log n)$。二叉查找树是基础性数据结构,用于构建更为抽象的数据结构,如集合、多重集、关联数组等。
简单来说,二叉查找树是一种二叉树,但是它规定了一种顺序,使得其查找、插入的效率更高。其特点如下: 对于任意一个节点 n,其左子树(left subtree)下的每个后代节点(descendant node)的值都小于节点 n 的值; 其右子树(right subtree)下的每个后代节点的值都大于节点 n 的值。
如下图所示,是一个二叉查找树的例子:

