一、BTNode<E>的构造函数

二、取得和设置数据及连接

package jiangning.tree;
public class BTNode<E> {private E data ;private BTNode<E> left ;private BTNode<E>  right ;//    构造器初始化public BTNode(E initialData, BTNode<E> initialLeft, BTNode<E> initialRight){data = initialData;left = initialLeft;right = initialRight;}public E getData() {//从这个结点取得数据return data ;}public void setData(E newData) {this.data = newData;}public BTNode<E> getLeft() {//取得指向这个结点的左孩子的引用return left ;}public void setLeft(BTNode<E> left) {this.left = left;}public BTNode<E> getRight() {//取得指向这个结点的右孩子的引用return right ;}public void setRight(BTNode<E> right) {this.right = right;}
}

三、测试一个结点是否是叶子结点

左孩子的引用和右孩子的引用都是空引用。
public boolean isLeaf(){return (left == null) && ( right == null );
}

四、从最左结点活最右结点获取数据
最左结点是字符L,不是字符R,因为R使用了一个右连接。
    public E getLeftmostData(){if(left == null){return data ;}return left .getLeftmostData();//利用递归获取最左边的元素
}

五、删除最左或最右结点
1.如图
2.删除最左结点的不同情况分析
1)只有一个结点:如上图只有一个节点8时,删除最左结点,起始就是删除当前节点8,这样返回的树应该是null。
2)只有一个右节点情况,删除8的最左节点,在删除节点8后,剩余结点6,
3)存在最左结点:
在进行删除的时候实际上时对原的树进行重新赋值。
用this关键字,一个指向调用这个方法的对象的应用。
public BTNode<E> removeLeftmost(){if(left == null){//左结点是根结点因为它没有孩子。return right ;} else{left = left .removeLeftmost();return this ;}}

You never know till you have tried.

不尝试,不知晓。

转载于:https://blog.51cto.com/2008jiangning/1311217

3.第九章 树--9.3 二叉树结点类表示相关推荐

  1. 第九章第八题(Fan类)(Fan class)

    第九章第八题(Fan类)(Fan class) 9.8(Fan类)设计一个名为 Fan 的类来表示一个风扇.这个类包括: 三个名为 SLOW.MEDIUM 和 FAST 而值为 1.2 和 3 的常量 ...

  2. 【机器学习实战 第九章】树回归 CART算法的原理与实现 - python3

    本文来自<机器学习实战>(Peter Harrington)第九章"树回归"部分,代码使用python3.5,并在jupyter notebook环境中测试通过,推荐c ...

  3. DS二叉树—二叉树结点的最大距离

    题目描述 二叉树两个结点的距离是一个结点经过双亲结点,祖先结点等中间结点到达另一个结点经过的分支数.二叉树结点的最大距离是所有结点间距离的最大值.例如,下图所示二叉树结点最大距离是3,C和D的距离. ...

  4. DIP第九章习题解答

    数字图像处理 第九章课后作业 文档地址:数字图像处理第九章课后作业.pdf_数字图像处理第九章课后答案,数字图像处理第三版第九章课后答案-图像处理文档类资源-CSDN下载https://downloa ...

  5. Python函数的应用--汇率转换函数示例(第九章)

    # python 从入门到精通(第二版)个人编码 # 第九章 函数 # 形式参数 实际参数 string类值传递不改变实际参数值 list类引用传递改变实际参数的值 # 位置参数 传递时数量有数量及先 ...

  6. 【数据结构总结】第五章 树和二叉树(非线性结构)

    第五章 树和二叉树(非线性结构) 提示:本文主要是以思维导图的形式概括数据结构第一章的精华内容,基本不会用到文字性的内容,目的是为了给大家梳理每个重要的知识点的相关概念,方便大家在复盘的时候快速阅读和 ...

  7. 数据结构 第5章 树和二叉树 课后答案

    第5章  树和二叉树 1.选择题 (1)把一棵树转换为二叉树后,这棵二叉树的形态是(   ). A.唯一的                          B.有多种 C.有多种,但根结点都没有左孩 ...

  8. 数据结构(C语言第2版) 课后习题答案之第五章 树和二叉树

    目录 第5章  树和二叉树 一.选择题 二.应用题 (1)试找出满足下列条件的二叉树 (2)设一棵二叉树的先序序列: A B D F C E G H ,中序序列: B F D A G E H C (3 ...

  9. 算法与数据结构 第四章 树与二叉树

    第四章树 一.选择题(20分) 1.在下述结论中,正确的是: (    ) ① 只有2个结点的树的度为1: ② 二叉树的度为2: ③ 二叉树的左右子树可任意交换: ④ 在最大堆(大顶堆)中,从根到任意 ...

最新文章

  1. shell实例第15讲:俄罗斯方块游戏
  2. 查找算法:二分查找、顺序查找
  3. asp中正则表达式应用
  4. Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
  5. JWT (Json Web Token)教程
  6. UEFI + GPT 启动 VHD
  7. windows怎么打开python_windows怎么打开Python
  8. [51nod1201]整数划分
  9. JavaScript自适应图片大小的弹出窗口
  10. 【机器学习-西瓜书】二、性能度量:召回率;P-R曲线;F1值;ROC;AUC
  11. 计算机二级java和c哪个难,计算机二级最好考哪个 考试难度怎么样
  12. 24点计算机游戏规则,24点游戏规则和解题方法
  13. 现在怎么不生产5寸大小的手机了?
  14. 天龙八部新目标服务器未响应,新天龙八部怀旧服有多火?4个月后开新服,玩家排队5小时没进去...
  15. 元数据管理工具Atlas学习笔记之使用
  16. 浏览器输入一个URL过程
  17. 35、自动喷水灭火系统的防护冷却系统
  18. 分组云平台客户端连接医院HIS简单调用方法
  19. javaweb项目相对路径与绝对路径
  20. Python之列表和元组的基本操作(超详细)

热门文章

  1. OCR基于深度学习下的CNN字符识别
  2. 【C/C++】运算符优先级记忆
  3. 自然语言处理系列-1.什么是NLP?
  4. 验证二叉搜索树的golang实现
  5. linux下使用source /etc/profile保存配置后,新的环境变量只能在一个终端里面有效...
  6. 剑指Offer(java版):字符串的排列
  7. AngularJS入门(用ng-repeat指令实现循环输出)
  8. mount: none already mounted or /cgroup busy
  9. null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
  10. 【写作技巧】毕业论文的目录和正文有什么讲究?