/********************************二叉树*********************************************************/
import java.util.*;
public class BitTree
{
public BitTree(){}
public BitTree(String str)
{
data=str;
lchild=null;
rchild=null;
}
public static void createBitTree(BitTree tree,Scanner in)//前序生成二叉树
{
System.out.println("enter the string");
String s=in.next();
if(s.equals("over"))
tree=null;
else
{
tree.data=new String(s);
tree.lchild=new BitTree();
createBitTree(tree.lchild,in);
tree.rchild=new BitTree();
createBitTree(tree.rchild,in);
}
}
public static void traverseTree(BitTree root)//遍历二叉树
{
if(root==null)
System.out.print(" null ");
else
{
traverseTree(root.lchild);
System.out.println(root.data);
traverseTree(root.rchild);
}
}
private BitTree lchild;
private BitTree rchild;
private String data;
/*************************************************************************************************
******二叉树测试************************************************************
import java.util.*;
public class BitTreeTest {
public static void main(String[] args) {
BitTree tree=new BitTree("ch");
Scanner in=new Scanner(System.in);
BitTree.createBitTree(tree, in);
BitTree.traverseTree(tree);
}
}
总结犯了两个很大的毛病。导致第一次无法通过。
(1)没有实例化域就使用它。NULL是非实例化对象,用它就会引发空指针错误。
(2)私有变量无法通过访问器函数来改变它的值
分享到:
相关推荐
java下非递归实现平衡二叉树,实现了增删查改的基本功能
java语言实现的二叉树的各种操作(包括递归与非递归遍历二叉树,求二叉树的高度,节点总数,叶子节点等)
java实现创建二叉树,并且遍历二叉树(此处使用递归方式遍历); 创建二叉树的方式有很多,此处使用线性的链表转化成二叉树,链表节点的顺序就是前序遍历的顺序,链表中的null值,代表二叉树左节点或者右节点为null...
已经经过不断的调试可以跑起来了 有详细的注释
java实现二叉树非递归前序中序后序遍历
java啊 二叉树建立,用递归与非递归的方法求结点之和
给定先序中序序列,递归建立二叉树,并遍历
java编程,二叉树的中序遍历,递归实现
详细介绍了JAVA中二叉树的非递归遍历方式,三种方式都是采用栈来辅助完成,其中前序遍历采用的是先入右子节点再入左子节点的方法,这样弹出栈时左在前,右在后。中序遍历的话则是要先一直到达最左的子节点,然后才弹...
本文介绍了使用Java语言实现二叉树前序、中序和后序遍历的基本算法。首先,定义了一个简单的TreeNode类来表示二叉树的节点,包括节点的值、左子节点和右子节点的引用。接着,通过实现三个不同的遍历方法——...
关于二叉树的实现与遍历,网上已经有很多文章了,包括C, C++以及JAVA等。鉴于python做为脚本语言的简洁性,这里写一篇小文章用python实现二叉树,帮助一些对数据结构不太熟悉的人快速了解下二叉树。本文主要通过...
java实现二叉树的遍历,包括前序中序后序遍历,递归和非递归实现。
Java版二叉树遍历非递归程序,里面写的一般,希望大家喜欢!
二叉树非递归实现源码(C、C++、JAVA)
数据结构二叉树(Binary Tree)的Java实现; 包括最基本的清空方法/判断为空方法/求树的深度的方法/获得父结点的方法/获得左/右兄弟结点的方法/递归先序/中序/后序遍历二叉树的方法;
在Java中,实现二叉树的先序遍历可以通过递归来完成。先序遍历的顺序是:首先访问根节点,然后递归地先序遍历左子树,最后递归地先序遍历右子树。 在这段代码中,Node类定义了二叉树的节点,包含数据域和指向左右子...
二叉树的遍历,全部用递归实现,很有规律! 二叉树的遍历,全部用递归实现,很有规律
1:构造一个二叉树 2:二叉树前序遍历(递归) 3:二叉树中序遍历(递归) 4:二叉树后续遍历(递归) 5:二叉树前序遍历(非递归) 6:二叉树中序遍历(非递归) 7:二叉树后序遍历(非递归)
资源概要:本文档主要讲述了在 Java 中如何实现二叉树的 Node 节点定义,并且提供了八种遍历算法的实现,包括递归前序遍历、递归中序遍历、递归后序遍历、非递归前序遍历、非递归中序遍历、非递归后序遍历、广度优先...
编写递归算法,计算二叉树中叶子结点的数目