文章目录
14.1 定义
搜索树是一种适合于
描述字典
的树形结构。特别是对于顺序访问
或按排名访问
,散列表实现时间性能差,使用搜索树实现则会有更好的时间性能。
14.1.1 二叉搜索树
二叉搜索树是一棵可能为空的二叉树,一棵非空的二叉搜索树满足:
- 每个元素有一个关键字,并且没有任意两个元素有相同的关键字;因此,
所有的关键字都是唯一的。
- 根左子树中的所有关键字(如果有的话)
小于
根的关键字。 - 根右子树中的所有关键字(如果有的话)
大于
根的关键字。 - 根的左右子树也都是二叉搜索树。
有重复值的二叉搜索树即放弃二叉搜索树中所有元素拥有不同关键字的要求:
- 任何元素其左子树的关键字
小于等于
该元素的关键字 - 任何元素其右子树的关键字
大于等于
该元素的关键字