一、二叉排序树的基本概念
二叉排序树(二叉搜索树、二叉查找树 BST Binary Sort Tree ),一棵非空的二叉排序树具有下列性质
- 如果左子树不空,则左子树上所有结点的值都小于根结点的值;
- 如果右子树不空,则右子树上所有结点的值都大于根结点的值;
- 左右子树也分别是二叉排序树。
二、二叉排序树的插入
三、创建二叉排序树
1、相同的序列创建的二叉排序树是唯一的。
2、同一集合创建的二叉排序树是不同的。
3、用二叉树的先序遍历序列创建的二叉排序树与原树相同。
四、删除叉排序树的结点
1、如果树只有根结点,并且待删除的结点就是根结点。
2、如果待删除的结点是叶结点,直接删除,不会破坏二叉排序树的性质。
3、如果待删除的结点只有左子树或右子树,则让子树代替自己。
4、如果待删除的结点有左子树或右子树,让左子树最右侧的结点代替自己,然后删除左子树最右侧的结点。也可以让右子树最左侧的结点代替自己,然后删除右子树最左侧的结点。
五、二叉排序树的查找效率分析