二叉搜索树的中序序列相同,则称它们彼此等价。两个等价的二叉搜索树,可能在形态上存在拓普茶艺,各个节点的垂直高度可能有所不同,但水平次序完全相同,可简化为“上下可变,左右不可变”。

1. 树高与性能

一个二叉搜索树(要求有序)需要支持的主要接口有:

  • search()
  • insert()
  • remove()

三者的时间复杂度均正比于二叉树的高度。在最坏的情况下,所有的内部结点(根和叶子除外),均为左孩子结点或右孩子结点。此时的查找效率甚至会降至 O(n),线性正比于数据集的规模。故若不能有效地控制树高,则就实际的性能而言,相比此前的向量和列表,二叉搜索树将无法体会出明显优势。

2. 结点数与树的高度

证明含 n 个结点的二叉树的最小高度为 ⌊log2n⌋(同时也是完全二叉树(线性表存储)的树高)。

高度为 h 的二叉树结点与树高的关系为:


n≤2h+1−1


等号成立,当且仅当二叉树是满树。


h≥⌈log2(n+1)⌉−1=⌊log2n⌋