二叉排序树(Binary Sort Tree,简称 BST )又叫二叉查找树和二叉搜索树,是一种实现动态查找表的树形存储结构。
前面章节介绍了几种表示静态查找表的存储结构,包括线性表、索引顺序表和静态树表。和静态查找表相比,动态查找表不仅可以查找目标元素,还可以执行插入和删除元素的操作。
二叉排序树本质是一棵二叉树,它的特别之处在于:
- 对于树中的每个结点,如果它有左子树,那么左子树上所有结点的值都比该结点小;
- 对于树中的每个结点,如果它有右子树,那么右子树上所有结点的值都比该结点大。
举个简单的例子,下图就是一棵二叉排序树: