java实现二叉树遍历
package com.tree.demo;
public class BinaryTree {
int data; // 根节点数据 BinaryTree left; // 左子树
BinaryTree right; // 右子树
public BinaryTree(int data) // 实例化二叉树类
{
this.data = data;
left = null;
right = null;
}
public void insert(BinaryTree root, int data) { // 向二叉树中插入子节点
if (data > root.data) // 二叉树的左节点都比根节点小
{
if (root.right == null) {
root.right = new BinaryTree(data);
} else {
this.insert(root.right, data);
}
}
else { // 二叉树的右节点都比根节点大
if (root.left == null) {
root.left = new BinaryTree(data);
} else {
this.insert(root.left, data);
}
}
}
}
package com.tree.demo;
public class BinaryTreePreorder { public static void preOrder(BinaryTree root){ //先根遍历 if(root!=null){ System.out.print(root.data+"-"); preOrder(root.left); preOrder(root.right); } } public static void inOrder(BinaryTree root){ //中根遍历
if(root!=null){ inOrder(root.left); System.out.print(root.data+"--"); inOrder(root.right); } } public static void postOrder(BinaryTree root){ //后根遍历
if(root!=null){ postOrder(root.left); postOrder(root.right); System.out.print(root.data+"---"); } } public static void main(String[] str){ //int[] array = {12,76,35,12,16,47,90,46,9,98}; int[] array = {12,76,35,22,16,48,90,46,9,40}; BinaryTree root = new BinaryTree(array[0]); //创建二叉树 for(int i=1;i<array.length;i++){ root.insert(root, array[i]); //向二叉树中插入数据 } System.out.println("先根遍历:"); preOrder(root); System.out.println(); System.out.println("中根遍历:"); inOrder(root); System.out.println(); System.out.println("后根遍历:"); postOrder(root); } }
转载于:https://www.cnblogs.com/fxiang/p/3853632.html
java实现二叉树遍历相关推荐
- 【二叉树Java】二叉树遍历前序中序后序遍历的非递归写法
本文主要介绍二叉树前序中序后序遍历的非递归写法 在探讨如何写出二叉树的前序中序后序遍历代码之前,我们先来明确一个问题,前序中序后序遍历根据什么区分? 二叉树的前序中序后序遍历,是相较根节点说的.最先遍 ...
- java数据结构二叉树遍历_java数据结构 之 二叉树的遍历(1)
树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合 节点:上图的圆圈,比如A,B,C等都是表示 ...
- Java版二叉树遍历,查找,顺序化存储代码实现
前中后序遍历,查找 package Tree; /*** 二叉树前 中 后 遍历,查找* @author bai**/ public class BinaryTreeDemo {public stat ...
- java 遍历二叉树_java实现二叉树遍历的三种方式
本文实例为大家分享了java实现二叉树遍历的具体代码,供大家参考,具体内容如下 二叉树如下: 遍历结果如下: 以下是实现代码: package binTree; import java.util.St ...
- 二叉树遍历(附Java实现代码)
二叉树遍历(附Java实现代码) 二叉树遍历可以有两种方法:递归遍历的方式与非递归遍历的方式. 先序遍历就是先遍历根节点再左再右: 中序遍历就是先左再根再右: 后序遍历就是先左再右再根: 先构建这棵树 ...
- 分治法在二叉树遍历中的应用(JAVA)--二叉查找树高度、前序遍历、中序遍历、后序遍
分治法在二叉树遍历中的应用 二叉树本身就是由两个更小的部分组成--左子树和右子树,所以二叉树的问题非常适合用分治法来解决. 二叉树的高度:从叶子到根之间的最长路径.我们可以理解为根的左子树高度和右子树 ...
- Java实现二叉树的多种遍历
简述: 用Java实现二叉树的前序,中序,后序,层序遍历, S型层序遍历 算法简述: 前三个算法在于输出当前节点的位置, 1 前序: 在递归左右儿子之前,输出当前节点 void PreOrderPri ...
- JavaSE_Java/C++模拟实现二叉树、C++/Java四种二叉树遍历题型(递归、非递归、Morris)遍历
文章目录 1.Java模拟实现二叉树(前序构建二叉树) 2.C++模拟实现二叉树(层序构建二叉树) 3.Java/C++三种二叉树遍历方式 前序遍历 1)递归版本 2)非递归版本 3)Morris遍历 ...
- 【树】二叉树遍历算法(深度优先、广度优先遍历,前序、中序、后序、层次)及Java实现...
[树]二叉树遍历算法(深度优先.广度优先遍历,前序.中序.后序.层次)及Java实现 目录 一.前序遍历 二.中序遍历 三.后序遍历 四.层次遍历 遍历的作用 二叉树是一种非常重要的数据结构,很多其它 ...
- 用Java实现二叉树前序遍历、中序遍历和后序遍历。
用Java实现二叉树前序遍历.中序遍历和后序遍历. 解析: public class Tree {private int data; /* 数据节点 */private Tree left; /* 左 ...
最新文章
- android 使用Ksoap2工具类实现WebService网络编程
- shell脚本之for循环
- Ubuntu20.04上安装部署Elasticsearch
- 解决Winform程序在不同分辨率系统下界面混乱问题
- Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges dfs树/拓扑找环
- 同一个html页面中两个area,HTML中的map和area标签
- 如何有效的为Windows XP减肥
- ##CSP认证 201909-2小明种苹果(续)(100分)
- 程序员面试金典——9.8硬币表示
- c# 微信公众号模板消息推送
- java计算机毕业设计绿洲小区快递配送系统源代码+数据库+系统+lw文档
- 【地平线旭日X3派试用体验】基于MIPI Camera的目标检测 web 端展示,全流程(第三节)
- baidu patchrom项目 make后刷机包脚本多一个0解决
- JAVA:实现RodCutting棒材切割问题算法(附完整源码)
- CC3200 TI RTOS LPDS模式
- Java内存模型(JMM)
- Baumer工业相机堡盟相机使用CameraExplorer软件进行相机参数保存与 UserSet参数设置
- 学python还是计算机三级,考试无忧全国计算机等级考试python(python二级证书有用吗)...
- 圣戈班集团2019年销售额426亿欧元,增长2.4%
- 微信小程序之movable-view的direction用法