二叉树的创建和三种遍历方式

原创 2015年11月17日 15:59:34
public class BinaryTree {
public static void main(String[] args)
{
int[] arr = {2,4,6,8,22,34,77,44};
BinaryTree bt = new BinaryTree();
for(int i=0;i<arr.length;i++)
{
bt.buildTree(bt.root, arr[i]);
}
bt.preOrder(bt.root);
bt.inOrder(bt.root);
bt.postOrder(bt.root);

}

private static Node root;
private class Node{
private Node left;
private Node right;
private int data;
public Node(int data)
{
this.data = data;
}
}
public BinaryTree()
{
this.root = null;
}

public static void buildTree(Node node,int data)
{
if(root==null)
{
root = new Node(data);
}
else
{
if(data<node.data)
{
if(node.left==null)
node.left = new Node(data);
else
buildTree(node.left,data);
}
else if(data>node.data)
{
if(node.right==null)
node.right = new Node(data);
else
buildTree(node.right,data);
}
}
}

public static void preOrder(Node node)//前序遍历
{
if(node!=null)
{
System.out.println(node.data);
preOrder(node.left);
preOrder(node.right);
}
}
public static void inOrder(Node node)//中序遍历
{
if(node!=null)
{
inOrder(node.left);
System.out.println(node.data);
inOrder(node.right);
}
}
public static void postOrder(Node node)//后序遍历
{
if(node!=null)
{
postOrder(node.left);
postOrder(node.right);
System.out.println(node.data);
}
}

}

java实现二叉树创建和遍历

今天晚上我学习了java语言的二叉树创建和遍历算法。 实现的机制和上一节课差不多。 代码如下: package 二叉树链表; public class Node { private in...
  • jjfly999
  • jjfly999
  • 2016年03月08日 21:34
  • 753

二叉树四种遍历方式

/* 二叉树的四种遍历方式 */ #include #include using namespace std; // 二叉树节点的定义 class TreeNode{ public: ...
  • jobbofhe
  • jobbofhe
  • 2016年07月08日 22:27
  • 1044

二叉树的建立与三种遍历

之前照着书上描写的通过递归建立二叉树后发现在输入时是死循环,便认为是自己程序出错后面发现自己的程序并没有出错,而是自己对于二叉树的定义理解不深刻。 在程序中 输入要严格按照正确的顺...
  • xuptacm
  • xuptacm
  • 2016年11月18日 20:03
  • 2175

C++实现二叉树的建立和三种递归遍历

二叉树是一种常见的数据结构,二叉树的遍历也是家常便饭的事了,这里仅仅写出一个完整的可以运行的C++代码来随便建立一个如下图所示的二叉树,建一棵二叉树是实现二叉树各种操作的基础,下面的程序也很简单,这只...
  • JXH_123
  • JXH_123
  • 2014年06月30日 20:16
  • 2712

数据结构之二叉树创建及其遍历

还记得N年想在全盘电脑寻找一个文件,当时看那代码晦涩难懂,后来不了了之,最近复习了下二叉树,现在感觉全盘寻找文件不是想象的那么复杂。 #include #include #include type...
  • hwb_1988
  • hwb_1988
  • 2013年11月13日 11:06
  • 1894

数据结构实验之二叉树的建立与遍历

题目描述        已知一个按先序序列输入的字符序列,如abc,,de,g,,f,,,(其中逗号表示空节点)。请建立二叉树并按中序和后序方式遍历二叉树,最后求出叶子节点个数和二叉树深度。 ...
  • u013013910
  • u013013910
  • 2014年02月17日 14:38
  • 1079

二叉树的创建即遍历(递归方式)

最近准备把数据结构书上的算法用代码实现一遍,在二叉树这块遇到了一点小问题,发现是自己指针这块还没过关,研究了一个小时候,终于明白二级指针的使用情况,(那些自认为自己指针过关的同学可不要停留在一级指针这...
  • u012997465
  • u012997465
  • 2016年04月06日 23:21
  • 1478

简单二叉树的建立和遍历

C语言建立先序二叉树,然后分别用先序,中序,后序遍历输出该二叉树。
  • yanxiuhao
  • yanxiuhao
  • 2017年03月13日 13:47
  • 709

创建二叉树的两种方法以及三种遍历方法

二叉树的两种创建方法和三种遍历方法 这里的两种创建方法,一种值得是 数据结构上面的创建方法: 方法一 代码如下: 二叉树的结构定义如下: typedef s...
  • yujin753
  • yujin753
  • 2015年01月26日 11:32
  • 8290

二叉树的创建和三种遍历方式

public class BinaryTree { public static void main(String[] args) { int[] arr = {2,4,6,8,22,34,77,...
  • u014430697
  • u014430697
  • 2015年11月12日 18:41
  • 146
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:二叉树的创建和三种遍历方式
举报原因:
原因补充:

(最多只允许输入30个字)