目录
二叉搜索树概念
编辑
1 二叉搜索树的构建
2. 二叉搜索树的删除
3二叉搜索树中放入元素
4. 二叉搜索树中元素的删除
5. 二叉搜索树中元素的遍历
6 二叉搜索树中元素的查找
7二叉搜索树的拷贝构造
二叉搜索树概念
二叉搜索树又称二叉排序树,它或者是一棵空树 ,或者是具有以下性质的二叉树 :
1:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值
2:若它的右子树不为空,则右子树上所有节点的值都大于根节点的值
3:它的左右子树也分别为二叉搜索树
1 二叉搜索树的构建
2. 二叉搜索树的删除
二叉树的删除一般为后序遍历删除较为方便
3二叉搜索树中放入元素
4. 二叉搜索树中元素的删除
首先查找元素是否在二叉搜索树中,如果不存在,则返回, 否则要删除的结点可能分下面四种情
况:
a. 要删除的结点无孩子结点
b. 要删除的结点只有左孩子结点
c. 要删除的结点只有右孩子结点
d. 要删除的结点有左、右孩子结点
看起来有待删除节点有4中情况,实际情况a可以与情况b或者c合并起来,因此真正的删除过程
如下:
情况b:父结点指向被删除节点的左孩子结点 --直接删除
情况c:父结点指向被删除结点的右孩子结点--直接删除
情况d:替换法删除 将被删除的数替换成另外一个最符合二叉搜索树的树:右边的最小值,或者左边的最大值
循环写法:
递归写法: