二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。
一棵空树,或者是具有下列性质的二叉树:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
(4)没有键值相等的结点
查找时间复杂度O(logn)
添加一个节点,此节点将做为新的叶子节点
删除节点,3种情况:
1.待删除为叶子节点,干掉
2.待删除节点,左或右子节点为空,开掉并上移
3.待删除节点del,左l、右r子节点均不为空,找出右r子树中最小节点min,把min移动del位置(代码建议直接移动下挂的数据指针)