BST搜索二叉树

目录

二叉搜索树概念

​编辑

1 二叉搜索树的构建

2. 二叉搜索树的删除

3二叉搜索树中放入元素

4. 二叉搜索树中元素的删除

5. 二叉搜索树中元素的遍历

6 二叉搜索树中元素的查找

 7二叉搜索树的拷贝构造


二叉搜索树概念

二叉搜索树又称二叉排序树,它或者是一棵空树 ,或者是具有以下性质的二叉树 :
1:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值
2:若它的右子树不为空,则右子树上所有节点的值都大于根节点的值
3:它的左右子树也分别为二叉搜索树

BST搜索二叉树_第1张图片


二叉搜索树的构建

BST搜索二叉树_第2张图片


2. 二叉搜索树的删除

二叉树的删除一般为后序遍历删除较为方便

BST搜索二叉树_第3张图片

3二叉搜索树中放入元素

BST搜索二叉树_第4张图片


4. 二叉搜索树中元素的删除

  首先查找元素是否在二叉搜索树中,如果不存在,则返回, 否则要删除的结点可能分下面四种情
况:
        a. 要删除的结点无孩子结点
        b. 要删除的结点只有左孩子结点
        c. 要删除的结点只有右孩子结点
        d. 要删除的结点有左、右孩子结点
看起来有待删除节点有4中情况,实际情况a可以与情况b或者c合并起来,因此真正的删除过程
如下:
          情况b:父结点指向被删除节点的左孩子结点 --直接删除
        情况c:父结点指向被删除结点的右孩子结点--直接删除
          情况d:替换法删除     将被删除的数替换成另外一个最符合二叉搜索树的树:右边的最小值,或者左边的最大值 
BST搜索二叉树_第5张图片
                                                                  循环写法:
BST搜索二叉树_第6张图片
                                                                        递归写法:
BST搜索二叉树_第7张图片

5. 二叉搜索树中元素的遍历

BST搜索二叉树_第8张图片


6 二叉搜索树中元素的查找

BST搜索二叉树_第9张图片


      7二叉搜索树的拷贝构造

BST搜索二叉树_第10张图片

你可能感兴趣的:(数据结构)