基本概念
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树),它或者是一棵空树,或者是具有下列性质的二叉树:
- 若左子树不空,则左子树上所有结点的值均小于它的根结构的值
- 若右子树不空,则右子树上所有结点的值均大于它的根结点的值
- 它的左右子树也分别是二叉查找树
规律:
一棵BST节点数为l,索引从0开始。对于索引为i的节点,
- 二叉排序树进行中序遍历可得到一个有序序列
- 其左子树节点索引为2i+1,右子树节点索引为2i+2,
- 父节点索引为(i-1)/2
- 最后一个非叶子节点索引为l/2-1
解释说明: 构造二叉排序树不是为了排序,而是为了提高查找和插入的速度。在一个有序数据集上的查找速度总是要快于无序的数据集的,而且二叉排序树这种链式存储结构,也有利于插入和删除的速度。
操作
新建
|
|
查找
|
|
插入
|
|
删除
|
|
常用逻辑块
|
|