public class BinaryTreeDemo {public static void main(String args[]){Employee emp1= new Employee(1,"李洛");Employee emp2= new Employee(2,"张元清");Employee emp3= new Employee(3,"牧尘");Employee emp4= new Employee(4,"萧炎");Employee emp5= new Employee(5,"许七安");BinaryTree binaryTree =new BinaryTree(emp1);emp1.setLeft(emp2);emp1.setRight(emp3);emp2.setLeft(emp4);emp2.setRight(emp5);binaryTree.preOrder();//12453binaryTree.infixOrder();//42513binaryTree.lastOrder();//45231}
}class BinaryTree{private Employee root;public BinaryTree(Employee root) {this.root = root;}public Employee getRoot() {return root;}public void setRoot(Employee root) {this.root = root;}//前序遍历public void preOrder(){if (this.root!=null){this.root.preOrder();}else {System.out.println("二叉树为空,无法遍历。");}}//中序遍历public void infixOrder(){if (this.root!=null){this.root.infixOrder();}else{System.out.println("二叉树为空,无法遍历。");}}//后序遍历public void lastOrder(){if (this.root!=null){this.root.lastOrder();}else {System.out.println("八嘎!");}}}class Employee{private int id;private String name;private Employee left;private Employee right;public Employee(int id, String name) {this.id = id;this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Employee getLeft() {return left;}public void setLeft(Employee left) {this.left = left;}public Employee getRight() {return right;}public void setRight(Employee right) {this.right = right;}@Overridepublic String toString() {return "Employee{" +"id=" + id +", name='" + name + '\'' +'}';}//前序遍历public void preOrder(){System.out.println(this);if(this.getLeft()!=null){this.getLeft().preOrder();}if (this.getRight()!=null){this.getRight().preOrder();}}//中序遍历public void infixOrder(){if (this.left!=null){this.left.infixOrder();}System.out.println(this);if (this.right!=null){this.right.infixOrder();}}//后序遍历public void lastOrder(){if (this.left!=null){this.left.lastOrder();}if (this.right!=null){this.right.lastOrder();}System.out.println(this);}}

共勉!

java数据结构学习笔记-二叉树前、中、后序遍历相关推荐

  1. 二叉树前中后序遍历以及节点计算

    二叉树前中后序遍历以及节点计算 二叉树 分类 二叉链的数据结构 三叉链的数据结构 四种遍历方法 深度优先遍历:前中后序 广度优先遍历:层序遍历 计算 节点个数 叶子节点个数 树的高度 第k层的节点个数 ...

  2. 二叉树前中后序遍历+刷题【中】【数据结构/初阶/C语言实现】

    文章目录 1. 二叉树基础操作 1.1 二叉树遍历 1.1.1 前序遍历 前序遍历(Pre-Order Traversal) 1.1.2 中序遍历 中序遍历(In-Order Traversal) 1 ...

  3. 二叉树前中后序遍历的非递归实现以及层次遍历、zig-zag型遍历详解

    前言 二叉树的遍历是一个比较常见的问题,递归实现二叉树的前中后序遍历比较简单,但非递归实现二叉树的前中后序遍历相对有难度.这篇博客将详述如何使用非递归的方式实现二叉树的前中后序遍历,在进行理论描述的同 ...

  4. 【霍罗维兹数据结构】二叉树前中后序遍历 | 层序遍历 | 复制二叉树 | 判断两个二叉树全等 | 可满足性问题

    写在前面 学习二叉树结构,最简单的方式就是遍历.所谓二叉树遍历,就是按照某种特定的规则,一次对二叉树中的节点进行相应的操作,并且每个节点只操作一次. 访问节点所做的操作要看具体的应用问题.遍历是二叉树 ...

  5. 一层循环时间复杂度_数据结构:二叉排序树的前/中/后序遍历(递归与循环两种版本)...

    树的设计初衷与操作时间复杂度 树这种数据结构的出现主要是对链表数据结构的优化,链表数据结构是线性结构,操作一般需要O(N)的时间复杂度,树是链表的变形,即链表的每个节点包含一个节点,而树的节点可以包含 ...

  6. LeetCode——树:层次遍历、前中后序遍历

    LeetCode--树:层次遍历.前中后序遍历 目录 层次遍历 二叉树的层平均值 找树左下角的值 前中后序遍历 概述 非递归实现二叉树的前序遍历 非递归实现二叉树的中序遍历 非递归实现二叉树的后序遍历 ...

  7. 二叉树的前,中,后序遍历(思路分析) [Java][数据结构]

    二叉树的前,中,后序遍历(思路分析) 前序遍历: 先输出父节点, 再遍历左子树和右子树 中序遍历: 先遍历左子树, 再输出父节点,再遍历右子树 后序遍历: 先遍历左子树,再遍历右子树,最后输出父节点 ...

  8. [Leedcode][JAVA][第94/144/145题][前中后序遍历][递归][迭代][二叉树]

    [问题描述][] 前序遍历 先输出当前结点的数据,再依次遍历输出左结点和右结点 中序遍历 先遍历输出左结点,再输出当前结点的数据,再遍历输出右结点 后续遍历 先遍历输出左结点,再遍历输出右结点,最后输 ...

  9. 数据结构-二叉树(包含二叉树的层次建树、前中后序遍历、层次遍历解析及代码)

    目录 一.树与二叉树的原理解析 1.树的定义 2.树的结构和特点 3.二叉树的定义 4.树结点的数据结构 二.二叉树的层次建树 1.二叉树层次建树的原理及分析 2.完整代码 三.二叉树的前中后序遍历 ...

最新文章

  1. 网络流24题-骑士共存
  2. java同时输入输出buf_java输入输出流小细节
  3. Ajax中文乱码问题解决方法(服务器端用servlet)
  4. Windows使用opencv训练模型过程记录(提供样本)
  5. centos7重新加载服务的命令_CentOS7 从查看、启动、停止服务说起systemctl
  6. Android之AlterDialog介绍
  7. 藏红花怎么推广?百度下拉词|抖音下拉词框|信息流推广-三剑合璧
  8. 35+ 个 Java 代码性能优化总结
  9. (转)linux sort 命令详解
  10. 03_安装和配置 kubectl
  11. 2020计算机专业本科毕业论文题目,计算机专业本科学生毕业论文题目(仅供参考)...
  12. 德州大学计算机系郭小虎2021,2021年德州农工大学排名U.S.News世界大学排名第130...
  13. BAT的校园大赛,都秀出了哪些肌肉?
  14. java 读取gzip_Java读取GZIP
  15. CF1427F-Boring Card Game【贪心】
  16. 面试热问——你的职业规划是什么?
  17. ARM与RISC-V的恩爱情仇
  18. 1离线TiDB-Ansible 部署问题-总结
  19. 剪枝中的train from scratch的解释
  20. c语言编译产生随机数为什么,C语言 怎样产生随机数

热门文章

  1. 关于配音,你绝对不知道的冷知识|三款配音工具,帮你实现短视频创业梦
  2. Ubuntu下好用的音乐播放器Audacious
  3. html表格自动分列,CSS3 Columns:比table更好用的分列式布局方法
  4. 微信封杀今日头条小程序;英特尔敲定新 CEO;快手成央视春晚官方合作伙伴 | 雷锋早报...
  5. MIDI文件格式解析
  6. 灵心胜造物,妙手夺天工——Wire Editing(一)
  7. 形容计算机老师风采的句子,形容老师的句子
  8. 【echarts】的右上角工具栏点击restore恢复按钮图表空白问题
  9. MFC如何获取硬盘的序列号
  10. 迎新年html,迎接新年句子精选十条