二叉排序树,也叫搜索树,顾名思义 是一种有顺序的二叉树;
数值的插入
保证插入的数值满足:节点的值大于左子树上的所有节点的值,且小于右子树上所有节点的值
数值的遍历
二叉树中序遍历的结果就是排列好的顺序
数值的删除
删除操作比较难理解,分为多种
- 节点是叶子节点,同时是根节点
- 节点是叶子节点,但不是根节点
- 节点是支节点,同时只存在左子树(细分两种是否是根节点)
- 节点是支节点,同时只存在右子树(细分两种是否是根节点)
- 节点是支节点,同时存在左右子树,且右节点的左子节点不存在(细分两种是否是根节点)
- 节点是支节点,同时存在左右子树,且右节点的左子节点存在(细分两种是否是根节点)
尤其是第六种情况 比较复杂,需要先找出 节点的右节点的左子树中最新的值 替代被删除节点的位置