上一篇文章中讨论了树这种数据结构,以及其衍生的二叉树。这篇文章中,主要讨论二叉树的衍生树以及基于二叉树的算法。
1.二叉搜索树
二叉搜索树是由二叉树衍生出的一个高级数据结构,具备了二叉树的所有特性。二叉搜索树的每一个内部节点(internal node)都存储了一个键(或一对键值对)。二叉搜索树的叶子节点不存储任何东西。在此基础上,设x是二叉搜索树中的任意一个节点,x有如下性质:
若y是x左子树中的一个节点,则有
y . k e y ≤ x . k e y y.key \le x.key y.key≤x.key
若y是x右子树中的一个节点,则有
y . k e y ≥ x . k e y y.key \ge x.key y.key≥