Java构造二叉树、树形结构先序遍历、中序遍历、后序遍历
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构造二叉树、树形结构先序遍历、中序遍历、后序遍历的更多相关文章
- [二叉树建树]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 ...
- 《Java数据结构》树形结构
树形结构是一层次的嵌套结构. 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示.经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树. 左子 ...
- LeetCode 145. 二叉树的后序遍历 (用栈实现后序遍历二叉树的非递归算法)
题目链接:https://leetcode-cn.com/problems/binary-tree-postorder-traversal/ 给定一个二叉树,返回它的 后序 遍历. 示例: 输入: [ ...
- 天梯 L2 树的遍历(已知后序中序求层序)
树的遍历 (25 分) 给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列.这里假设键值都是互不相等的正整数. 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数.第二行 ...
- DS实验题 Order 已知父节点和中序遍历求前、后序
题目: 思路: 这题是比较典型的树的遍历问题,思路就是将中序遍历作为位置的判断依据,假设有个节点A和它的父亲Afa,那么如果A和Afa的顺序在中序遍历中是先A后Afa,则A是Afa的左儿子,否则是右儿 ...
- 【MySQL疑难杂症】如何将树形结构存储在数据库中(方案一、Adjacency List)
今天来看看一个比较头疼的问题,如何在数据库中存储树形结构呢? 像mysql这样的关系型数据库,比较适合存储一些类似表格的扁平化数据,但是遇到像树形结构这样有深度的人,就很难驾驭了. 举个栗子:现在有一 ...
- PAT 甲级 1086 Tree Traversals Again (25分)(先序中序链表建树,求后序)***重点复习
1086 Tree Traversals Again (25分) An inorder binary tree traversal can be implemented in a non-recu ...
- java list实现树形结构
1.javabean import java.util.List; public class TreeNode { private String id; private String parentId ...
- Java数据封装成树形结构,多级
参考地址:https://blog.csdn.net/chendu500qiang/article/details/91493147 1.实体类 @data public class PublishS ...
随机推荐
- java代码实现将集合中的重复元素去掉
package com.loaderman.test; import java.util.ArrayList; import java.util.LinkedHashSet; import java. ...
- Proxmox
vmware: vmware 12 pro proxmox 下载地址 往下会比较麻烦一点,这里就不做展示了(仅供参考)
- Selenium 2自动化测试实战29(组织单元测试用例和discover更多测试用例)
一.组织单元测试用例 看看unittest单元测试框架是如何扩展和组织新增的测试用例以之前的calculator.py文件为例,为其扩展sub()方法,用来计算两个数相减的结果. #coding:ut ...
- Linux中如何批量删除目录下文件后缀
1. rename rename分为perl版本和C版本,以下截图是C版本效果: perl版本:rename 's/.bak//' *.bak 2. for循环+awk 3. for循环+cut 4. ...
- React Native 安装
第一 :在天朝如果你可以违规上网的话便可以按 react native 中文网的文档进行安装与调试.地址为:https://reactnative.cn/docs/getting-started.ht ...
- 【Python开发】Python PIL ImageDraw 和ImageFont模块学习
ImageDraw 新建一个空白图片为本文作示例,新建空白文件的方法 见Image模块,Image.new: mport Image blank = Image.new("RGB&quo ...
- sql for xml path 和group_concat
/*sqlserver*/ select Id,AId,(SELECT IMEI+',' FROM Device as s WHERE s.Id=c.Id For XML Path('')) AS I ...
- 中间消息件之 Solace(一) Solace的简介
什么是Solace? Solace是一家加拿大注册的公司,总部设在安大略省渥太华. 成立于2001年. 这家公司一直致力于获取信息的艺术和科学,并提供世界上最灵活,最强大的数据移动平台. 背景 在信息 ...
- [转帖]ASML发布Q1季度财报 营收22.3亿欧元,EUV光刻机下半年产能大增 ...
ASML发布Q1季度财报营收22.3亿欧元,EUV光刻机下半年产能大增 ... 孟宪瑞发布于2019-4-18 10:32 https://www.expreview.com/67969.html 一 ...
- servlet_filterj简介
Filter总结: 1):Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, ...