二叉搜索树

140 阅读1分钟

二叉搜索树是二叉树的一种,是应用非常广泛的一种二叉树,英文简称BST。

1、二叉查找树、二叉排序树。
2、任意一个节点的值都大于其左子树所有节点的值。
3、任意一个节点的值都小于右子树所有节点的值。
4、它的左右子树也是一颗二叉搜索树。

二叉搜索树可以大大提高搜索数据的效率。

二叉搜索树存储的元素必须具备可比较性

1、比如 int、double等 2、如果是自定义类型,需要指定比较方式。

二叉搜索树的接口设计

int size() //元素的数量
boolean isEpty() //是否为空
void clear() //清空所有元素
void add(E element) //添加元素
void remove(E element) //删除元素
boolean contains(E element) //是否包含某元素

需要注意的是对于我们现在使用的二叉树来说,它的元素没有索引的概念。

添加节点

图片.png

根据元素内容获取节点

图片.png

删除节点-叶子节点

图片.png

删除节点-度为1的节点

图片.png

删除节点---度为2的节点

图片.png