package com.example.demo;

public class BTree {
public int data;
public BTree left;
public BTree rigth; public boolean hasLeft(){
return left != null;
} public boolean hasRigth(){
return rigth != null;
} public BTree(){}
} class main{
public static void main(String[] args) {
BTree root = new BTree();
root.data = ; BTree node1 = new BTree();
node1.data = ; BTree node2 = new BTree();
node2.data = ; BTree node3 = new BTree();
node3.data = ; BTree node4 = new BTree();
node4.data = ; BTree node5 = new BTree();
node5.data = ; BTree node6 = new BTree();
node6.data = ; root.left = node1;
root.rigth = node2; node1.left = node3;
node1.rigth = node4; node2.left = node5;
node2.rigth = node6; System.out.println("先序遍历二叉树:");
queryFirst(root);
System.out.println(); System.out.println("中序遍历二叉树:");
queryMiddle(root);
System.out.println(); System.out.println("后序遍历二叉树:");
queryLast(root);
System.out.println();
}
//先序遍历二叉树
public static void queryFirst(BTree tree){
if(tree == null){
return;
}
System.out.print(tree.data+"\t");
if(tree.hasLeft()){
queryFirst(tree.left);
}
if(tree.hasRigth()){
queryFirst(tree.rigth);
}
}
//中序遍历二叉树
public static void queryMiddle(BTree tree){
if(tree == null){
return;
}
if(tree.hasLeft()){
queryMiddle(tree.left);
}
System.out.print(tree.data+"\t");
if(tree.hasRigth()){
queryMiddle(tree.rigth);
}
}
//后序便利二叉树
public static void queryLast(BTree tree){
if(tree == null){
return;
}
if(tree.hasLeft()){
queryLast(tree.left);
}
if(tree.hasRigth()){
queryLast(tree.rigth);
}
System.out.print(tree.data+"\t");
}
}
先序遍历二叉树:

中序遍历二叉树:

后序遍历二叉树:
                        

Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历的更多相关文章

  1. [二叉树建树]1119. Pre- and Post-order Traversals (30) (前序和后序遍历建立二叉树)

    1119. Pre- and Post-order Traversals (30) Suppose that all the keys in a binary tree are distinct po ...

  2. 《Java数据结构》树形结构

    树形结构是一层次的嵌套结构. 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示.经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树. 左子 ...

  3. LeetCode 145. 二叉树的后序遍历 (用栈实现后序遍历二叉树的非递归算法)

    题目链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [ ...

  4. 天梯 L2 树的遍历(已知后序中序求层序)

    树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数.第二行 ...

  5. DS实验题 Order 已知父节点和中序遍历求前、后序

    题目: 思路: 这题是比较典型的树的遍历问题,思路就是将中序遍历作为位置的判断依据,假设有个节点A和它的父亲Afa,那么如果A和Afa的顺序在中序遍历中是先A后Afa,则A是Afa的左儿子,否则是右儿 ...

  6. 【MySQL疑难杂症】如何将树形结构存储在数据库中(方案一、Adjacency List)

    今天来看看一个比较头疼的问题,如何在数据库中存储树形结构呢? 像mysql这样的关系型数据库,比较适合存储一些类似表格的扁平化数据,但是遇到像树形结构这样有深度的人,就很难驾驭了. 举个栗子:现在有一 ...

  7. PAT 甲级 1086 Tree Traversals Again (25分)(先序中序链表建树,求后序)***重点复习

    1086 Tree Traversals Again (25分)   An inorder binary tree traversal can be implemented in a non-recu ...

  8. java list实现树形结构

    1.javabean import java.util.List; public class TreeNode { private String id; private String parentId ...

  9. Java数据封装成树形结构,多级

    参考地址:https://blog.csdn.net/chendu500qiang/article/details/91493147 1.实体类 @data public class PublishS ...

随机推荐

  1. [转]Cookie详解

    从事 Web 开发已有近17个月:在学以致用的工作学习里,对于不怎么使用的部分,多少有些雾里探花的窘迫感-差不多是了解一二,然而又非真切的明晰:这就使得再用的时候,总要去再搜索一番:如此颇为难受,倒不 ...

  2. vue类似tab切换的效果,显示和隐藏的判断。

    两者切换,动态显示对应的列表详情. 通过v-show的判断 数据驱动

  3. Struts2常量_Action配置路径_通配符

    Struts2中常用的常量 指定默认编码集,作用于HttpServletRequest的setCharacterEncoding方法 和freemarker .velocity的输出 <cons ...

  4. Web测试方法_02

    1.页面链接检查 检查每一个链接是否都有对应的页面,页面与页面之间的来回切换是否正常响应,包括一些返回页面的链接是否正常,还要检查点击图片所链接的页面是否准确展示. 2.相关性检查 功能相关性检查:例 ...

  5. MATLAB实现OTSU

    目录 1.OTSU算法原理简述: 2.MATLAB实现代码 @ 1.OTSU算法原理简述: 最大类间方差是由日本学者大津(Nobuyuki Otsu)于1979年提出,是一种自适应的阈值确定方法.算法 ...

  6. C#编程 线程,任务和同步(1) 基础认识

    线程 对于所有需要等待的操作,例如移动文件,数据库和网络访问都需要一定的时间,此时就可以启动一个新的线程,同时完成其他任务.一个进程的多个线程可以同时运行在不同的CPU上或多核CPU的不同内核上. 线 ...

  7. ubuntu 16.04 server 扩容(LVM)磁盘

    因为发现我的本地server出现磁盘满了的情况 所以进行lvm的扩容 1 查看磁盘情况 df -h 原本发现 /dev/mapper/ubuntu1604--vg-root 这个磁盘满了 所以要进行扩 ...

  8. webdriervAPI(键盘事件)

    from  selenium  import  webdriver from selenium.webdriver.common.keys import Keys   #导入键盘操作事件 driver ...

  9. flask的方法视图

    from flask import Flask,views,render_template,request app = Flask(__name__) app.debug = True class L ...

  10. Python学习【day02】- 运算符与基本类型

    Python语言支持以下类型的运算符: 算术运算符 操作符 描述 示例(a=10.b=21) + 加法 相加运算两侧的值 a + b = 31 - 减法 操作符右侧数减去左侧操作数 a – b = - ...