- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java基础复习笔记 10 数据结构 -排序二叉树
刘岩
Email:suhuanzheng7784877@163.com
1. 排序二叉树
排序二叉树是在二叉树的限制基础上又加了一些限制, 所有的的树节点数据都具有可比
较性质、树的根节点数据肯定都大于它的左子树中所有节点、树的根节点数据也都小于
或者等于它的右子树的所有节点。同理这个棵树上的父节点都大于左节点,并且小于等
于右节点。如下图所示。
就是一颗排序二叉树,对此树进行深度优先中根遍历法,那么会得到从小到大的排列顺
序: 1、2 、4 、5、7 、 10、 12、13、 14、 15、18 。
2. 使用场景
顾名思义,排序二叉树就是为了快速排序,查找元素时用的最多的。
3. 维护排序二叉树
构建一棵排序二叉树可能对于咱们来说不是什么难事, 但是关键是维护好这颗排序二叉
树。比如新增或者删除一个元素节点后,还能严格的保持这棵树是一颗排序二叉树。尤
其是涉及到删除节点元素的时候,需要考虑的因素就比较多了比如删除一个节点后,得
考虑这个节点是否有子节点,有几个子节点等等。
一般分为如下几个情况处理。
1):被删除的节点是叶子节点,没关系,不会影响大局,直接删除即可
2 ):被删节点只有左子树或者只有右子树,被删除的节点只有单子树的。直接将被删节
点的子树赋给被删节点的父节点即可, 也就是说被删节点的左子树代替被删节点成为被
删结点父亲的左子树,而被删节点的右子树代替被删节点成为被删结点父亲的右子树。
3 ):被删节点既有左子树又有右字数,这种是比较麻烦的,也就是当不当、正不正只删
除中间的节点。 这个时候就要用被删节点最大左子树的节点或者用最小右子树的的节点
代替被删节点。
1 / 7
添加节点:添加节点的过程实际上就是构建排序二叉树的过程。原理如下
1):首先有一个根节点
2 ):以根节点作为当前节点开始检索
3 ):新增节点和当前节点进行值比较
4 ):如果新节点比当前节点大,那么当前节点的右子节点作为新的当前节点,如果当前
节点比当前节点小,那么当前节点的左子节点作为新的当前节点。
5 ):重复 3 和 4 步骤直到当前节点没有了子节点,那么新节点作为当前节点的子节点,
具体作为左子节点还是有子节点得看新节点的值和当前节点值得比较。
4. 算法代码
实现创建排序二叉树以及维护排序二叉树的代码如下:
package dateStructer.tree.orderTree;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.List;
import java.util.Queue;
/**
* 排序二叉树
*
* @author liuyan
*/
public class OrderTree {
static class Node {
Integer data ;
Node parent ;
Node left ;
Node right ;
public Node(Integer data, Node parent, Node left, Node right)
{
this . d
您可能关注的文档
- 2014届高三一轮复习英语资料基础巩固(新课标专用)Book2Unit5含解析.pdf
- 2014届高三一轮复习英语资料基础巩固(新课标专用)Book3Unit3含解析.pdf
- 2014届高三一轮复习英语资料基础巩固(新课标专用)Book2Unit3含解析.pdf
- 2014届高三一轮复习英语资料基础巩固(新课标专用)Book4Unit1含解析.pdf
- 2014届高三生物二轮钻石卷:高考专题演练1《细胞的分子组成》.pdf
- 2014届高三一轮复习英语资料基础巩固(新课标专用)含解析.pdf
- 2014届高考英语一轮复习词汇天天练.pdf
- 2014届高考英语一轮复习词汇天天练11.pdf
- 2014届高考英语一轮复习词汇天天练26.pdf
- 2014届高考英语一轮复习词汇天天练9.pdf
最近下载
- 《建筑工程冬期施工规程》JGJ@T104-2011.docx VIP
- 2023年景德镇学院公共课《马克思主义基本原理概论》期末试卷B(有答案).docx VIP
- 豌豆磨粉机械的设计与计算书.doc
- 2023年景德镇学院公共课《马克思主义基本原理概论》期末试卷A(有答案).docx VIP
- 全国首款NBA官方授权网游NBA2K.pdf VIP
- 07SD101-8_电力电缆井设计与安装_电气弱电图集 (1)建筑工程图集.docx VIP
- 塔里木大学植物科学学院遗传学复习资料.doc VIP
- 党内重要法规应知应会基本知识点.DOC VIP
- 茂名辅警笔试题库及答案.doc VIP
- 胰源性糖尿病的发病机制与诊治进展.pptx VIP
原创力文档


文档评论(0)