- 二叉搜索树:Binary Search Tree
1. 顺序性
任一节点 r (根节点或者内部节点)的左(右)子树(而不是左右孩子那么简单)中,所有结点(若存在)均不大(不小于)r。
这样设计(增加一种顺序性)二叉树的目的在于,使其中序遍历(左中右)得到的访问的序列呈单调非降的趋势。
注意,顺序性是一种很强的条件。事实上,搜索树中结点之间的全序关系,已完全“蕴含”于这一条件(顺序性)之中。
更一般性的结论如下,任何一棵二叉树是二叉搜索树,当且仅当(二者等价)其中序遍历序列单调非降。
2. 二叉搜索树的特性
一棵二叉搜索树由一组(互异的关键码)组成,可能形式不太相同,但它们的中序遍历必然相同。
现在考虑这样一个问题,n 个互异结点能构成多少棵二叉搜索树。
不妨将 n 个互异结点组成的二叉搜索树的总数记作
根据所选择树根结点的不同,树根为
注意: