二叉查找树5
2012-05-12 21:38
204 查看
接上一篇,继续讲二叉查找树的操作,之前的博客都讲得差不多了,本篇就讲一下删除操作,以及求最矮公共父结点(LCA:lowest common ancestor)的操作吧。
删除
将一个结点从二叉查找树中删除之后,剩下的结点可能会不满足二叉查找树的性质,因此,在删除结点之后要对树进行调整,使其满足二叉查找树的性质。根据结点的孩子的数量,将删除操作分为三种情况,我们记要删除的结点为z,实际上删除的结点为y。
1. z结点没有孩子。
如下图a所示,我们要删除值为13的结点,因为结点没有孩子,所以删除之后不会影响到二叉树的整体性质,也就是说,直接将13这个结点删除即可,如图a所示,从左边的二叉树删除13这个点之后变到右边的二叉树。
TreeNode.java
BSTree.java
TestMain.java
ps:关于二叉查找树的一些操作先写到这里吧,有不对的地方,请广大博友指正啊。
pss:画图好累啊。。转载请注明。。。
删除
将一个结点从二叉查找树中删除之后,剩下的结点可能会不满足二叉查找树的性质,因此,在删除结点之后要对树进行调整,使其满足二叉查找树的性质。根据结点的孩子的数量,将删除操作分为三种情况,我们记要删除的结点为z,实际上删除的结点为y。
1. z结点没有孩子。
如下图a所示,我们要删除值为13的结点,因为结点没有孩子,所以删除之后不会影响到二叉树的整体性质,也就是说,直接将13这个结点删除即可,如图a所示,从左边的二叉树删除13这个点之后变到右边的二叉树。
TreeNode.java
BSTree.java
TestMain.java
ps:关于二叉查找树的一些操作先写到这里吧,有不对的地方,请广大博友指正啊。
pss:画图好累啊。。转载请注明。。。
相关文章推荐
- 二叉查找树(BST)---拷贝 相等判断 查找节点 统计节点 统计层数 判断BST
- 二叉查找树(BST)的实现(C++)
- 数据结构002 - 二叉查找树(BST)
- 递归和非递归输出二叉查找树中所有的节点
- 算法导论第十二章:二叉查找树
- 证明:在一棵有n个结点的二叉查找树中,刚好有n-1种可能的旋转
- 二叉查找树——算法导论第12章简易代码实现~
- 二叉查找树的基类实现(五)
- 二叉查找树
- 二叉查找树
- 自平衡二叉查找树(一)-----------AVL树分析和代码实现
- 《算法导论》第12章 二叉查找树 (2)查找、插入与删除
- C#实现二叉查找树
- C#构建二叉查找树
- 二叉查找树(四)
- 二叉查找树的创建,插入,搜索,查询后继
- 二叉查找树
- 二叉查找树(BST)
- 二叉查找树(BST)
- 二叉查找树的简单操作(2)