View Code

package Binary_Tree_Three_Traversal;/** * 二叉树三种递归遍历 * @author 1 **/public class Node {public Node left; // 左子结点    public Node right; // 右子结点    public int value; // 结点值

public Node(int value) {this.value = value;    }

public Node() {    }

// 前序遍历    public static void preTraversal(Node node) {if (node != null) {            System.out.print(node.value+" "); //输出当前结点值        }if (node.left != null) {            preTraversal(node.left); //读左结点        }if (node.right != null) {            preTraversal(node.right); // 读右结点        }    }

// 中序遍历    public static void midTraversal(Node node){if(node.left != null){            midTraversal(node.left);        }if(node != null){            System.out.print(node.value+" ");        }if(node.right != null){            midTraversal(node.right);        }    }

// 后序遍历    public static void behTraversal(Node node){if(node.left != null){            behTraversal(node.left);        }if(node != null){            System.out.print(node.value+" ");        }if(node.right != null){            behTraversal(node.right);        }    }public static void main(String[] args) {// 初始化5个结点,值分别为: 1,2,3,4,5        Node n1 = new Node(1);        Node n2 = new Node(2);        Node n3 = new Node(3);        Node n4 = new Node(4);        Node n5 = new Node(5);        Node n6 = new Node(); // 值默认为0        Node n7 = null;

        System.out.println("n6 = "+n6);         System.out.println("n7 = "+n7); // null

// 构建二叉树, 以n1为根结点        n1.left = n2;        n1.right = n5;        n2.left = n3;        n2.right = n4;        n5.left = n6;        n5.right = n7;

        System.out.print("前序遍历结果为: ");        preTraversal(n1);         System.out.println();        System.out.print("中序遍历结果为: ");        midTraversal(n1);        System.out.println();        System.out.print("后序遍历结果为: ");        behTraversal(n1);    }}

转载于:https://www.cnblogs.com/FCWORLD/archive/2011/11/17/2252623.html

Java写的一个二叉树三种遍历递归算法(仅用作理解三种遍历)相关推荐

  1. java编程游戏飞机旋转问题_用JAVA写的一个飞机游戏

    根据网上视频教程,用JAVA写的一个飞机程序.先看效果先: 改程序主要应用了面向对象的方法构建,使用了AWT技术和一些双缓冲技术 关键有几个点: 一.双缓冲技术,防止重画造成的屏幕闪烁,可以直接用 p ...

  2. java qq聊天界面_【附源码】用Java写了一个类QQ界面聊天小项目,可在线聊天!...

    原标题:[附源码]用Java写了一个类QQ界面聊天小项目,可在线聊天! 目录: 1.功能实现 2.模块划分 3.使用到知识 4.部分代码实现 5.运行例图 1.功能实现 1.修改功能(密码.昵称.个性 ...

  3. 用Java写的一个万年日历

    用Java写的一个万年日历 当我们学过分支结构语句和循环语句后,我们可以简单的完成一个小案例: 通过输入具体的年月日,输出此年此月此日为星期几,并打印此月日历. 说一下我的思路: 首先第一步,先实现输 ...

  4. getconnection java_在MyEclipse用java写的一个GetConnection1.java,用于连接MySQL,却总是出错。(没有财富值了,见谅!)...

    在MyEclipse用java写的一个GetConnection1.java,用于连接MySQL,却总是出错.求救!!!packageJavaBean1;importjava.sql.*;import ...

  5. 闲来无事,用java写了一个魔方小程序。附源码

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  6. java实现魔方_闲来无事,用java写了一个魔方小程序。附源码 | 学步园

    闲来无事,用java写了一个魔方小程序.附源码 使用三维数组.相对来说还是简单.呵呵. import java.util.ArrayList; import java.util.List; impor ...

  7. sand java_我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,...

    我在sand用java写了一个读取wifi密码的程序,该方法由主方法调用,运行没问题,效果也正常,就是无法连续调用,就是如果调用一次就退出然后再运行就可以,如果用完了,再主方法里选择... 我在san ...

  8. java已知一个二叉树_大牛带你学 | 由二叉树的遍历序列求二叉树结构的解题方法归纳...

    前言 二叉树章节 属于数据结构考察的三大重点章节(线性表.树.图)之一,不管是在自命题院校考察和408统考都是考察频次很高的考点.今天,大牛学长就来为各位同学总结归纳一个二叉树知识考察中的常见题型的解 ...

  9. java已知一个二叉树_Day58:对称的二叉树

    剑指Offer_编程题--对称的二叉树 题目描述: 请实现一个函数,用来判断一棵二叉树是不是对称的.注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的. 具体要求: 时间限制: C/C++ ...

  10. java写的一个zip压缩源码错误分析

    下面是本人抽空写的一个 关于zip压缩,大家帮我看看什么地方错了 import java.io.* ; import java.util.* ; import java.util.zip.* ; pu ...

最新文章

  1. 吴恩达机器学习笔记55-异常检测算法的特征选择(Choosing What Features to Use of Anomaly Detection)
  2. 一个男人的潜力有多大,就看这几点!
  3. div居中与div内容居中,不一样
  4. vb.net中类型转换
  5. 人大金仓数据库sql语句_人大金仓数据库总结(SQL和JDBC)
  6. 将sublime text3添加到右键菜单中(可执行)
  7. 学成在线--19.新增课程(数据字典)
  8. 利用python转换图片格式
  9. oracle数据库9i安装,Oracle 9i数据库服务器的安装和辅助软件安装教程
  10. unity打包android 乱码,Unity3d发布IOS9应用时出现中文乱码的解决方法
  11. timespan怎么比较大小_万能小哥丨厨房墙砖哪种好?厨房墙砖怎么挑选?
  12. MFC控件使用总结——CListCtrl
  13. C#中async/await中的异常处理
  14. 一些可能有用的功能cocos2dx
  15. IBM刀片服务器虚拟化方案
  16. 腾讯翻译君在线翻译怎么翻译整个文件_7款好用的英文翻译软件推荐
  17. 操作系统PV编程题目总结一
  18. 嵌入式设备引入机器学习:有eIQ就够了!
  19. 苹果服务器cpu型号怎么看,iphone6s plus怎么查cpu型号 iphone6s plus查询cpu型号方法
  20. 浅谈python-docx的缩进问题——如何缩进两个字符

热门文章

  1. Spring中的Service/DAO/DTO
  2. 深入解析字符串的比较方法:“==”操作符;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。...
  3. 从Jetty、Tomcat和Mina中提炼NIO构架网络服务器的经典模式
  4. IOS判断用邮箱登录验证是不是合法的方法
  5. vue 中引入使用jquery
  6. Spring Cloud Sleuth 使用教程
  7. -bash: wget 未找到命令的解决办法
  8. hdu-5754 Life Winner Bo(博弈)
  9. Ext3文件读写流程概述
  10. HDU 1312 Red and Black(最简单也是最经典的搜索)