java实现二叉树的添加和中序,前序排列;求二叉树的高度
来源:互联网 发布:淘宝举报售假未通过 编辑:程序博客网 时间:2024/05/29 19:29
class BiTree{
private int data;//存放的数据
private BiTree left;//左子树
private BiTree right;//右子树
public BiTree(int x) {
data=x;
}
public void add(BiTree x) {
if (x.data<this.data) {//值小的给左子树
if (left==null) {
left=x;
}
else {
left.add(x);//如果左边为空就添加,不为空就递归添加
}
}
else {
if (right==null) {
right=x;
}
else {
right.add(x);
}
}
}
/**
* 用递归解决中序遍历
*/
public void midTravel() {
if (left!=null) {//要判断,不让有BUG
left.midTravel();
}
System.out.println(data);
if (right!=null) {
right.midTravel();
}
}
/**
* 用递归解决先序遍历
*/
public void preTravel() {
System.out.println(data);
if (left!=null) {//要判断,不让有BUG
left.preTravel();
}
if (right!=null) {
right.preTravel();
}
}
}
public class TestBinaryTre {
public static void main(String[] args) {
BiTree root=new BiTree(12);
root.add(new BiTree(9));
root.add(new BiTree(5));
root.add(new BiTree(8));
root.add(new BiTree(15));
root.add(new BiTree(20));
root.preTravel();
root.midTravel();
}
}
求二叉树的高度
package com.zhangle.arithmetic;
class BiTree {
private int data;// 存放的数据
private BiTree left;// 左子树
private BiTree right;// 右子树
public BiTree(int x) {
data = x;
}
public void add(BiTree x) {
if (x.data < this.data) {// 值小的给左子树
if (left == null) {
left = x;
} else {
left.add(x);// 如果左边为空就添加,不为空就递归添加
}
} else {
if (right == null) {
right = x;
} else {
right.add(x);
}
}
}
/**
* 二叉树的高度就是它的左子树和右子树中高度最大值 + 1
* @param x
* @return
*/
public int height(BiTree x) {
int a=0,b=0;
if (x.left!=null) {
a=height(x.left)+1;
}
if (x.right!=null) {
b=height(x.right)+1;
}
return a>b?a:b;
}
}
public class HeightBiTree {
public static void main(String[] args) {
BiTree root = new BiTree(12);
root.add(new BiTree(9));
root.add(new BiTree(5));
root.add(new BiTree(8));
root.add(new BiTree(15));
root.add(new BiTree(20));
System.out.println(root.height(root)+1);
}
}
- java实现二叉树的添加和中序,前序排列;求二叉树的高度
- Java二叉树(一)--定义及前序、中序、后序、层次遍历及求高度的实现
- C++用非递归实现二叉树的前序排列,中序排列,后续排列
- 二叉树的相关操作:创建、查找、求高度和深度、各种遍历(前、中、后、层序)等等
- 关于重建二叉树问题已经二叉树前序排列和中序排列求二叉树
- 二叉树的前序遍历和中序遍历求二叉树
- 由二叉树的中序遍历和前序遍历求二叉树重建二叉树
- JAVA实现二叉树的前、中、后序遍历
- 一直二叉树的前序遍历和中序遍历的结果,重建该二叉树 Java代码实现
- 求二叉树的高度和宽度
- 已知二叉树的前序和中序序列,构建二叉树并求后序序列,java实现。
- 重建二叉树--已知一个二叉树的前、中序排列,重建出该二叉树。
- 求二叉树的高度
- 求二叉树的高度
- 求二叉树的高度
- 求二叉树的高度
- 求二叉树的高度
- 求二叉树的高度
- dalvikvm类找不到错误解决方案
- 安卓ExpandableListView嵌套Gridview嵌套用法,与多点触控图片缩放
- JAVA--排序
- 有钱就是不一样
- strits2 csrf portect
- java实现二叉树的添加和中序,前序排列;求二叉树的高度
- ActionBar中的下拉菜单操作
- dijkstra算法
- eclipse取回被覆盖的代码
- 运营初期应该选用什么样的机器人
- 免费接口API
- 模板——大数相乘
- 软件设计漫谈之二:设计模式只是一把锤子!
- SVN源码服务器搭建-详细教程